Javascript 后台脚本加载顺序
我观察到一些奇怪的东西。我有一些背景脚本,实际上很多,比如18Javascript 后台脚本加载顺序,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,我观察到一些奇怪的东西。我有一些背景脚本,实际上很多,比如18 .... "background": { "scripts": [ "scripts/namespace.js", "scripts/frameworks/honeybadger.js", "scripts/frameworks/underscore.js", "scripts/frameworks/mixin.js", "scripts/frameworks/analytics.js",
....
"background": {
"scripts": [
"scripts/namespace.js",
"scripts/frameworks/honeybadger.js",
"scripts/frameworks/underscore.js",
"scripts/frameworks/mixin.js",
"scripts/frameworks/analytics.js",
"scripts/modules/worker.js",
"scripts/modules/i18n.js",
"scripts/modules/url.js",
"scripts/trackers/error_tracker.js",
"scripts/trackers/analytics_tracker.js",
"scripts/lib/page_context_menu.js",
"scripts/lib/selection_context_menu.js",
"scripts/lib/omnibox.js",
"scripts/lib/sync_store.js",
"scripts/lib/local_store.js",
"scripts/lib/example_tags.js",
"scripts/persistence/tag.js",
"scripts/init/tag_feature.js",
"scripts/initialize_background.js"
],
"persistent": false
},
....
我有HoneyBadger错误跟踪,我看到了与加载顺序相关的错误。最后一个脚本,initialize_background.js
将作为起点。但我看到的错误如下:
- 未捕获引用错误:\未定义(已加载第三个脚本)
- 未捕获引用错误:\未定义qag(已加载第五个脚本)
以前有人遇到过这种情况吗?可以信任脚本数组按顺序加载脚本吗?应该注意,我不能复制这个 我以前从未遇到过这样的错误(我也从未遇到过18个bg脚本)。我在文档中找不到任何关于后台脚本以任何特定顺序加载的断言(例如,对于内容脚本,明确声明它们以“外观”的顺序加载)。另一方面,如果它们以随机顺序加载,我会非常惊讶。两点建议:一,。如果要复制它,请检查扩展名的
\u generated\u background\u page.html
,以验证自动生成的脚本
-标记的顺序。[注释字符限制]2。使用HTML页面(使用清单中的page
而不是scripts
)来确保script
-标记以正确的顺序出现可能会有所帮助。生成的\u background\u page.HTML
中的顺序似乎是正确的。我刚刚实现了一个concating构建设置,将所有脚本连接到一个background\u script.js
。我相信这将解决问题,但我仍然有点困惑为什么会发生这种情况。我刚刚发生了这种情况,这是因为我加载的一个脚本中有一个错误。我在最后一个脚本中清除了控制台,这使我错过了前面的错误,导致一些变量没有设置。检查控制台日志顶部的“控制台已清除”消息。它们似乎总是按照为我指定的顺序加载。