5

我只在 IE 中遇到与 require.js 插件有关的错误。

我在 require.js 中有以下代码(第 1061 行):

 if (plugin.normalize) {

IE 8 返回此错误:

消息:'normalize' 为空或不是对象

线路:1061 字符:25

我检查了调试器并且插件对象存在,规范化是未定义的。在 javascript 中,这应该评估为“假”,并且不符合 if 条件。但是,由于某种原因,IE 会抛出此错误,而不是让我的页面正确加载。有谁知道为什么会这样?

具有讽刺意味的是,如果我将第 1061 行更改为:

if (plugin.normalize !== undefined && plugin.normalize !== null && plugin.normalize !== false) {

然后IE8成功运行代码......问题是,这应该是等效的代码,我不能为了避免像这样的IE错误而改变像require.js这样的第三方包。

4

2 回答 2

1

我有一个类似的问题,我通过确保我没有尾随昏迷并且我的路径很好来解决这个问题。

更多细节在这里:https ://github.com/jrburke/requirejs/issues/299

于 2013-06-10T18:14:13.150 回答
0

我有类似的问题,如果有一些文件未找到错误(404),请确保为脚本提供的路径正确,(备用路径似乎在 IE8 中不起作用),在修复路径后它解决了。

于 2014-12-16T09:47:20.380 回答