Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何瞄准Chromium浏览器扩展中赢得的bug';如果在开发模式下本地安装,则不能使用_Javascript_Google Chrome Extension_Chromium - Fatal编程技术网

Javascript 如何瞄准Chromium浏览器扩展中赢得的bug';如果在开发模式下本地安装,则不能使用

Javascript 如何瞄准Chromium浏览器扩展中赢得的bug';如果在开发模式下本地安装,则不能使用,javascript,google-chrome-extension,chromium,Javascript,Google Chrome Extension,Chromium,我刚刚测试了我的Chrome插件 在正式安装后,即通过CWS(Chrome Web Store),但突然惊讶于它无法工作。我总是通过在开发模式下本地安装它来使用它,也就是说,将安装在{the Chrome directory}\User Data\Default\Extensions\OECAICENGBGEMDDBDKLMAJOCOGDJJGNDA上的插件复制到另一个目录,然后将其拖动到chrome://extensionURL(开发者模式开启时)。然后我不得不从它的manifest.json

我刚刚测试了我的Chrome插件 在正式安装后,即通过CWS(Chrome Web Store),但突然惊讶于它无法工作。我总是通过在开发模式下本地安装它来使用它,也就是说,将安装在
{the Chrome directory}\User Data\Default\Extensions\OECAICENGBGEMDDBDKLMAJOCOGDJJGNDA上的插件复制到另一个目录,然后将其拖动到
chrome://extension
URL(开发者模式开启时)。然后我不得不从它的
manifest.json
中删除
,然后禁用通过CWS安装的第一个键。 我可以在本地开发者模式和CWS扩展之间切换扩展,以防止同时安装和启用两个冲突的相同扩展

区别非常明显,它在使用CWS(“添加到Chrome”)安装时不起作用,但它只在本地开发人员模式下起作用


你能和我一样帮我解决问题吗?希望你比我更有知识,这样我就可以修复这个bug并解决这个问题。

这是一个常见的问题:你使用的是非持久性背景脚本(
“persistent”:manifest.json中的false
)和chrome.runtime.onInstalled listener,您可以在其中注册一些侦听器

这是错误的,因为只有在安装/更新普通扩展时才会触发onInstalled,但非持久性后台脚本应在全局上下文中注册其侦听器,以便在每次恢复非持久性后台脚本时都会更新它们

它在开发者模式下工作,只是因为重新加载扩展被Chrome视为onInstalled中报告的更新事件。或者您可能已经为您的后台脚本打开了devtools,这阻止了它在5秒内卸载,这是它的标准行为

TL;博士 将chrome.browserAction.onClicked注册移出chrome.runtime.onInstalled:

chrome.runtime.onInstalled.addListener(function(info) {
  // code that should run on install/update
  // ...............
});

chrome.browserAction.onClicked.addListener(function(tab) {
  // code that should run on clicking the extension icon
  // ...............
});

当你说它不工作时,你的意思是它没有被chrome加载,或者它没有按照预期的方式运行或执行操作?请提供有关您面临的错误的更多信息