RequireJS在IE9中无法正常工作。

6

我遇到了一个相当奇特的问题 - 我的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异步加载出了问题
  • 某些问题导致脚本在$.ready()之前启动了

不过,开发者工具可以启动执行,这真的让我感到困惑。

寻找有关该现象及如何解决它的完整说明。

1个回答

5

找到答案了:当IE9的开发工具未打开时,consoleundefined,但你永远看不到这个错误,因为工具的控制台需要重新加载页面才能开始工作。

更多细节请参见:https://github.com/jrburke/requirejs/issues/488


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接