requirejs + IE8:未定义的对象为null或不是对象

Axl*_*xle 5 internet-explorer undefined internet-explorer-8 requirejs

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

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

 if (plugin.normalize) {
Run Code Online (Sandbox Code Playgroud)

IE 8正在返回此错误:

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

行:1061字符:25

我检查了调试器并且插件对象存在,normalize未定义.在javascript中,这应该评估为"false",并且if-condition失败.但是,出于某种原因,IE会抛出此错误,而不是让我的页面正确加载.有谁知道为什么会这样?

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

if (plugin.normalize !== undefined && plugin.normalize !== null && plugin.normalize !== false) {
Run Code Online (Sandbox Code Playgroud)

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

Phi*_*laf 1

我有一个类似的问题,我通过确保我没有尾随逗号并且我的路径良好来解决。

更多详细信息请参见:https ://github.com/jrburke/requirejs/issues/299