Google chrome extension 在Chrome扩展中按需加载大型JS库的建议方法是什么?

Google chrome extension 在Chrome扩展中按需加载大型JS库的建议方法是什么?,google-chrome-extension,Google Chrome Extension,我正在开发一个依赖于重JS库的Chrome扩展。我想按需加载这个库,例如在DOM中找到某个元素时,这样它就不会在不需要时消耗内存 实现这一目标的建议方法是什么?我应该在内容脚本中加载重载库,通过后台页面注入它,还是应该采取其他方法 谢谢。您可以从后台页面使用chrome.tabs.executeScript,例如: //在content.js中 如果需要的话{ chrome.runtime.sendMessage'insert-lib'; } //在background.js中 chrome.r

我正在开发一个依赖于重JS库的Chrome扩展。我想按需加载这个库,例如在DOM中找到某个元素时,这样它就不会在不需要时消耗内存

实现这一目标的建议方法是什么?我应该在内容脚本中加载重载库,通过后台页面注入它,还是应该采取其他方法

谢谢。

您可以从后台页面使用chrome.tabs.executeScript,例如:

//在content.js中 如果需要的话{ chrome.runtime.sendMessage'insert-lib'; } //在background.js中 chrome.runtime.onMessage.addListenermessage,{tab}=>{ 如果消息=='插入库'{ chrome.tabs.executeScriptab.index{ 文件:“big library.js” }; } };
带有RequestContentScript的API似乎正是您所需要的,但文档声称RequestContentScript在稳定通道上不受支持,因此请先进行一些测试。@wOxxOm稳定通道上支持它:。什么是大图书馆?你多久需要一次?你的分机是做什么的?@rob-w这个库大约压缩了300k。我不确定它是否被认为是大的,但我肯定不认为它应该与每个选项卡一起加载,除非它是必需的。扩展在DOM中查找标记,解析它们并将其转换为扩展值。@minml如果库严重依赖DOM,则不能将其卸载到后台页。您可以通过使用XHR获取库代码,然后对其求值来惰性地加载脚本。@miniml可能是,可能不是。你能不能让你的问题不那么含糊?至少说明如何使用库中的触发器、频率、输入/输出大小等。。。