我们正在使用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。
答案 0 :(得分:2)
如果每个浏览器都提供了后台范围,那将会很好,但不幸的是IE没有。但是,我们尽一切努力使代码行为在浏览器之间尽可能相似,但我们无法重新定义IE的架构。因此,对于IE,我们实现了自己的后台范围,其初始化的一部分需要加载资源文件。
通常这不是问题,因为大多数扩展都是轻量级的并且资源很少。但是,在您的情况下,由于您的扩展中有大量资源文件,它会延迟后台作用域的初始加载,但是一旦加载,警报就会及时显示。这就是为什么在没有资源的测试扩展中,会立即显示后台警报。
[披露:我是Crossrider员工]