【问题标题】:RequireJs in IE8: "no define call for.."IE8 中的 RequireJs:“没有定义调用..”
【发布时间】:2012-08-09 13:44:05
【问题描述】:

我使用 RequireJS 2.0.4 来加载 Java Script 文件。

在 Chrome、Firefox 和 IE9 中可以正常工作,但在 IE8 中会出错。

我将true 的值设置为enforceDefine 配置属性。

错误信息是no define call for ...

【问题讨论】:

    标签: javascript internet-explorer-8 requirejs


    【解决方案1】:

    这发生在 enforceDefine 设置为 true 并且脚本是 加载任一:

    • 没有调用define()来声明一个模块。
    • 或者是 shim 配置的一部分,该配置指定了可以检查加载的全局字符串属性,但检查失败。

    或者,如果错误仅出现在 IE 中而不出现在其他浏览器中(其中 可能会产生脚本错误,脚本大概是:

    • 引发 JavaScript 语法/评估错误。
    • 或者 IE 中出现 404 错误,导致脚本加载失败。

    这些 IE 行为导致 IE 在检测脚本错误方面的怪癖。 修复它:

    • 如果模块调用define(),请确保通过在脚本调试器中调试到达define调用。
    • 如果是 shim 配置的一部分,请确保 shim 配置的导出检查正确。如果在 IE 中,请使用脚本调试器检查 HTTP 404 错误或 JavaScript sytnax 错误。

    来源:http://requirejs.org/docs/errors.html#nodefine

    【讨论】:

    • 很遗憾,这并不能解释 IE8 和 IE9 的区别
    猜你喜欢
    • 2013-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 2012-05-14
    • 2016-01-21
    相关资源
    最近更新 更多