5

不工作我遇到一個相當奇特的行爲 - 我RequireJS模塊似乎沒有初始化,所有在IE9的運行:RequireJS在IE9

<head> 
    ... 
    <script data-main="/static/js/main" src="/static/js/libs/require.js"></script> // Seems to be not running at all. 
</head> 

但是,每當我火了IE9的開發者工具,並重新加載頁面,模塊將運行良好,就像他們應該在Firefox/Chrome/Safari /等。清理瀏覽器緩存並關閉IE9中的開發人員工具將使JavaScript不能再次完全運行。

另一種方式來啓動的RequireJS模塊的執行是添加同步腳本之前它調用:

<head> 
    ... 
    <script type="text/javascript" src="https://getfirebug.com/firebug-lite.js"></script> // Add any synchronous script calling here and the module below will execute fine. 
    <script data-main="/static/js/main" src="/static/js/libs/require.js"></script> 
</head> 

這樣看來,怪異行爲的原因可以是:

  • 出了點RequireJS」異步加載
  • 出了錯導致腳本之前$。就緒()
推出

但是,爲什麼開發人員工具可以啓動執行真的讓我感到困惑。

尋找現象的完整解釋以及如何解決它。

回答

3

找到答案:console是在IE9中undefined當開發工具沒有打開,但你永遠不會看到這個錯誤,因爲工具的控制檯需要一個頁面重新加載開始工作。

更多細節在這裏:https://github.com/jrburke/requirejs/issues/488