2011-11-22 104 views
11

我有一个导致IE 8崩溃的页面。我一直沉迷于导致崩溃的html/javascript。 我知道我将不得不做一些不同的事情来显示页面,我想如何在IE浏览器中打开它。有没有人知道我可以向IE团队报告这个问题的方法来解决这个问题?为什么这个HTML崩溃IE?

当鼠标移过跨度时发生崩溃。创建一个scratch .html文件来测试。使用jsfiddle不会使其崩溃。

更新:确保IE不处于兼容模式以使其崩溃。 Update2:它也在安全模式下崩溃,所以它不是导致问题的附加组件。我曾在多台电脑上尝试过。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html> 
<head> 
<title>test</title> 
    <style type="text/css"> 
     .condPartHover 
     { 
      border-color: #000000; 
      background-color: #E5F0F9; 
      color: #1D5987; 
     } 
    </style> 
</head> 
<body> 
    <ul> 
    <li> 
     <div>Testing: 
      <div style="position:relative; display:inline-block; height:25px;"> 
       <span style="position:absolute; top:0px; left:0px; border:1px solid #000000; background-color:White;" onmouseover="this.className = 'condPartHover';">test 
       </span> 
      </div> 
     </div> 
    </li> 
    </ul> 
</body> 
</html> 
+0

它不会为我崩溃。试试[这个链接](http://jsfiddle.net/kjyvv/) –

+4

我的IE8不会在这个html上崩溃。前两条意见是无关紧要的,并且没有建设性。 – James

+0

@xbrady,你能在[安全模式](http://www.mitchellenright.com/2010/12/28/internet-explorer-safe-mode/)中重现崩溃吗? –

回答

2

是任何人都知道的一种方式,我可以报告给IE团队获得 它固定的吗?

是,去http://connect.microsoft.com/,在搜索框中输入“Internet Explorer的反馈计划”,它会给你一个链接到报告这样的错误的IE团队。他们确实阅读/采取行动,但不要期望任何事情都很快。不管IE旧版本中的错误是否值得修复,我都不知道。这可能只是现在仍然适用于IE8的安全修复程序,而不是任何可以改变HTML渲染或Javascript行为的修复程序。

+0

它看起来像这只适用于IE 9/10。也许有没有办法报告旧版浏览器的错误?你会认为他们仍然会支持IE 8,因为他们决定不允许在Windows XP上安装IE 9+。如果没有其他人可以找到一个地方报告IE 8的错误,那么我只是将其标记为答案。 – xbrady

+0

不够公平,但Connect似乎是许多微软产品的正确错误报告机制。如果他们不接受它,我想他们也不会接受任何其他方式的错误报告。我同意你会认为他们应该仍然支持IE8,而XP至少在生活。 – mikel

1

尝试用mouseOver或mouseEnter与jQuery。

$('span').mouseover(function() { 
    $('span').addClass("condPartHover"); 
}); 

此外,您使用的这种方法不再是HTML有效。

+1

为了澄清,问题是“我该如何解决这个问题?”或者“我如何向Microsoft报告错误”?如果你只是在寻找修复,为什么甚至使用脚本呢?只需使用':hover' –

+0

我之前使用过jQuery的悬停功能。我刚刚剥离它坠毁在IE的地方。 $('span')。hover( function(){$(this).addClass('condPartHover');}, function(){$(this).removeClass('condPartHover');} //仍然崩溃IE ); – xbrady

+0

它是触发崩溃的className更新。 addClass更新导致它崩溃的className属性。 – xbrady

0

您的文档类型不正确,您处于怪癖模式。如果你必须使用XHTML文档类型,使用这一个:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
+0

“严格”和“过渡”的文档类型之间有明显的区别,不应该被忽视。 – zzzzBov

+0

@zzzzBov - 是的,但他不是一个有效的xhtml过渡之一。新的网页不需要过渡,并且应该总是严格使用。 http://www.w3.org/QA/2002/04/valid-dtd-list.html – Rob

+1

我完全不同意。在'transitional'中许多常见的属性和值是可以接受的,而在strict中是不可接受的(例如:'[target =“_ blank”]')。如果您要推荐任何内容,您应该推荐HTML 5文档类型:'<!DOCTYPE html>' – zzzzBov