javascript - 加载外部脚本时匿名define()模块不匹配

标签 javascript requirejs amd

是的,我知道,这种问题已经被问过太多次了。 但我有一个小细节想澄清。

正文中有一个脚本标签:

<script type="text/javascript" data-main="/js/app.87d28433.js" src="/js/external/requirejs/require.js"></script>

我们使用 requirejs api 来加载 googleTagManager:

require(["//www.googletagmanager.com/gtm.js"], function () { ... })

但是,我们无法控制 GTM 加载的脚本以及加载它们的方式。所以,最后,我们在正文中得到了很多加载脚本的脚本标签,例如 FingerprintJS ,它声明匿名定义模块。

是否有可能以任何方式绕过此行为并保持 requirejs 事件

我们再次无法控制 GTM 加载脚本的内容和方式。

最佳答案

只需为 require.js 错误添加错误处理程序:

requirejs.onerror = function() {
    // do your error hadling stuff but don't throw exception!
}

(感谢@maestro)

关于javascript - 加载外部脚本时匿名define()模块不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28306780/

相关文章:

c++ - 识别 AMD GPU

javascript - JS puppeteer 使用 for 循环迭代链接

javascript - 动态设置 RequireJS i18n 语言环境

javascript - 将 require.js 库包含在 bundle 中还是单独保留?

requirejs - 使用 JsTestDriver + RequireJS + QUnit 进行测试

javascript - RequireJS 未捕获错误 : Mismatched anonymous define() module

javascript - Grunt build 没有暴露我需要的全局变量

javascript - ember 核心表单组件中的 ARIA 属性

javascript - 拖放后 TinyMCE 编辑器内容丢失

javascript - 谷歌地图错误标记获取事件属性