4
function icPageInit() 
{ 
    $("icImgDiv" + icAlternate()).setOpacity(0); 
    return true; 
} 
window.onload = icPageInit; 

這段JavaScript代碼在Firefox和Chrome中運行良好,在上面的代碼的第3行。當使用prototype.js時,IE8中的Javascript對象錯誤

有誰知道這是爲什麼發生,和/或如何讓它工作?

+0

哪個版本的Prototype?我相信最新版本具有IE8兼容性修補程序。 – karim79 2009-06-04 09:30:37

+0

最新版本,1.6.0.3 – 2009-06-04 09:38:27

回答

13

想通了。

如果您在script標記的language屬性中使用除"javascript"之外的其他任何內容,則會發現Internet Explorer扼流圈。

我使用的屬性中的javascript附加了版本號,導致IE不能加載prototype.js

2

您確定這是否:$(「icImgDiv」+ icAlternate())返回對元素的引用?如果是這樣,您是否曾嘗試使用Microsoft Script Debugger/Visual Studio來調試何時何地引發異常?

-1

這不是問題所在。 IE8有這個錯誤我猜...因爲它的IE7和其他瀏覽器工作正常。

如果您在腳本標記的語言屬性中使用了除「javascript」之外的任何內容,則會導致Internet Explorer窒息。

我正在語言屬性中使用JavaScript附加到版本號,導致IE不加載prototype.js。

2

還檢查腳本標記的類型是「text/javascript」。我在IE8中出現了這個錯誤,並通過將「application/javascript」腳本標記的type =部分更改爲「text/javascript」來修復它。