Chrome扩展程序在加载前暂停

Ben

问题

如何减少点击扩展图标和显示内容之间的时间?

支持

我正在做一个非常简单的扩展。一旦启动,它会快速加载,但是在单击和弹出窗口加载之间会有一定的延迟。我在这里添加了gif效果(gif看上去有点忙碌,因此我将其放在链接下,以免灼伤您的眼睛!)由于它在我的计算机上的加载速度比其他人更快,因此它并没有真正做到这一点。一些理由。

这个问题(带有chrome扩展弹出窗口的轻微加载延迟)似乎解决了同一问题,但没有答案。我认为这个问题(更快地加载chrome扩展弹出窗口)也解决了这个问题,但是它的答案似乎正在解决另一个问题。

我的仓库在这里:https : //github.com/bvn-architecture/shackleton

如果我分析了扩展程序的加载时间,它将从出现弹出窗口时开始进行测量:

在此处输入图片说明

这意味着加载后约5ms,屏幕上会出现一些东西。它不包括暂停。

rd3n

我认为您面临的延迟是由于在Chrome中启动新任务过程所需时间

打开Chrome menu > More tools > Tasks manager,您将看不到对扩展的任何引用。
现在,单击扩展程序浏览器操作图标,您将看到,经过各种延迟后,任务管理器中将出现一个名为“扩展名:BVN工具栏”的新条目。任务出现后,您的弹出窗口打开。

一些测试

如果您从Chrome扩展程序示例中测试“我的书签”示例扩展程序,您将看到完全相同的行为。

现在,如果您看看其他扩展程序,例如Adblock Plus,它使用了像您这样的浏览器操作图标/弹出窗口,您会发现其弹出窗口的打开速度比您快。
如果再次检查任务管理器,即使未打开弹出窗口,您也会看到名为“扩展:Adblock Plus”的任务。

解释说明

这是因为许多扩展程序(例如Adblock扩展程序)正在使用永久性后台页面,这些页面是在扩展程序生命周期中一直存在的单个长期运行脚本(直到您禁用它,关闭浏览器等)。

如文档中所述,不建议使用持久性后台页面,而建议使用事件页面(非持久性页面)。但是对于您而言,使用事件页面将无法解决您的问题,因为当事件页面未主动执行操作时,将其卸载以释放资源。

解决方案

简单的方法

manifest.json文件中定义一个持久的后台页面将解决您的问题,但会导致不必要的内存使用,以使扩展任务保持“活动”状态(并且扩展不需要它来工作):

"background": {
    "page": "popup.html"
},

另一种方法

向Google提交问题。也许他们可以针对这种情况进行一些优化,或者它们会为您提供更好的解决方案。并且您可以解释说,这鼓励使用持久性背景页面而不是事件页面:-)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Chrome扩展程序:如何在开始加载前更改JS网址

来自分类Dev

如何自动重新加载chrome扩展程序?

来自分类Dev

Chrome扩展程序错误加载jQuery

来自分类Dev

Chrome-扩展程序加载时崩溃

来自分类Dev

图像未在chrome扩展程序中加载

来自分类Dev

Chrome扩展程序错误加载jQuery

来自分类Dev

如何自动重新加载chrome扩展程序?

来自分类Dev

Chrome扩展程序-脚本加载事件?

来自分类Dev

Chrome Webview应用程序以加载扩展

来自分类Dev

Chrome扩展程序未加载EventListener

来自分类Dev

Chrome扩展程序开发Instagram加载事件

来自分类Dev

Chrome扩展程序窗口加载jQuery

来自分类Dev

Chrome扩展程序在加载错误时重新加载页面

来自分类Dev

Chrome扩展程序在加载错误时重新加载页面

来自分类Dev

chrome扩展程序:启动时停止加载页面

来自分类Dev

以编程方式加载解压缩的Chrome扩展程序

来自分类Dev

为何SVG无法加载到Chrome扩展程序中?

来自分类Dev

chrome扩展程序在加载dom之前注入动态css

来自分类Dev

我没有安装的Google Chrome加载扩展程序

来自分类Dev

Chrome扩展程序:在页面加载之前注入JS

来自分类Dev

从已加载的iframe将消息发送回Chrome扩展程序

来自分类Dev

Chrome扩展程序:重新加载后检测标头

来自分类Dev

加载程序未显示在chrome扩展名中

来自分类Dev

如何通过javascript重新加载chrome扩展程序?

来自分类Dev

chrome扩展程序中的“拒绝加载脚本”错误

来自分类Dev

哪些政策禁止加载解压的Chrome扩展程序?

来自分类Dev

Chrome扩展程序,可防止部分页面被加载

来自分类Dev

以编程方式加载解压缩的Chrome扩展程序

来自分类Dev

从已加载的iframe将消息发送回Chrome扩展程序

Related 相关文章

热门标签

归档