2011-11-22 202 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