這樣做後,它會失敗:加載道場在Internet Explorer 8失敗
<script type="text/javascript" src="/js/dojo-release-1.7.2-src/dojo/dojo.js"></script>
在聲明中拋出一個錯誤(在這個版本,1.7.2,它是線260)
return new XMLHttpRequest();
是:「TypeError:對象不支持此方法或屬性」
愚蠢的是,該行執行很多次(甚至可能超過100)沒有任何問題,並且它似乎不依賴於任何變量。不幸的是,它在某個時候失敗了。我換用線:
try{
foo = new window.XMLHttpRequest();
return foo;
} catch(e) {
console.log("OUCH, ERROR.");
console.log(typeof window.XMLHttpRequest);
console.log(e);
}
,輸出:
OUCH ERROR.
object
TypeError: Object doesn't support this method or property
我完全迷失了方向,爲window.XMLHttpRequest似乎是一個對象,我爲什麼不能「新」呢?任何關於如何調試的建議都會受到歡迎。
我覺得非常困惑的是,只有當我使用鏈接轉到此頁面時纔會出現此錯誤。當我使用F5刷新頁面時,一切正常,沒有錯誤,什麼都沒有。
此外,它在Internet Explorer 9,Firefox和Chrome中運行無瑕。
這聽起來有點奇怪,因爲自從6 n起,IE支持XMLHttpRequest。無論是你的IE安裝是fubar還是渲染引擎中的一些小故障,使得dojo loader在窗口本身準備就緒之前運行.. – mschr
這裏是你的try/catch上面的一個小小的jsfiddle。 http://jsfiddle.net/pcrager/cjpZj/當你使用IE8安裝去那裏時會發生什麼? – mccrager
我已經在ie8的多個安裝中運行了它,最終在Windows 7的「Windows XP模式」下運行,後者隨ie6升級到ie8。我有一種強烈的感覺,這是一種競爭狀態,這是由打開鏈接或刷新頁面之間的不同結果提示的。雖然我不能將int映像爲一個簡單的競爭條件,就像在調用之前未加載X一樣,因爲在拋出錯誤之前語句工作了很多次。小提琴在我的ie8安裝中運行良好,正是這是什麼嚇壞了我:) – Herbert