为什么在CrossRider中加载后台需要这么多时间?

时间:2014-12-28 11:35:05

标签: javascript internet-explorer browser-extension crossrider

我们正在使用CrossRider为Internet Explorer开发扩展程序。我在分段模式下测试了我们的扩展,并且在后台和函数appAPI.ready中的extension.js中有一个警告:

extension.js

appAPI.ready(function($) {
    alert("appAPI.platform = " + appAPI.platform);
});

background.js

appAPI.ready(function($) {
    alert("appAPI.platform = " + appAPI.platform);
});

我在安装扩展程序后立即发生extension.js中的警报,但background.js中的警报仅在26秒后发生。为什么需要这么多时间?我们的扩展ID是43889.我还尝试了一个简单的扩展,它几乎不做任何事情(扩展ID是67708),并且两个警报都立即发生。有没有办法让我们的扩展加载背景更快?

我正在使用Internet Explorer 11,但此扩展程序应适用于所有版本的Internet Explorer。

1 个答案:

答案 0 :(得分:2)

如果每个浏览器都提供了后台范围,那将会很好,但不幸的是IE没有。但是,我们尽一切努力使代码行为在浏览器之间尽可能相似,但我们无法重新定义IE的架构。因此,对于IE,我们实现了自己的后台范围,其初始化的一部分需要加载资源文件。

通常这不是问题,因为大多数扩展都是轻量级的并且资源很少。但是,在您的情况下,由于您的扩展中有大量资源文件,它会延迟后台作用域的初始加载,但是一旦加载,警报就会及时显示。这就是为什么在没有资源的测试扩展中,会立即显示后台警报。

[披露:我是Crossrider员工]