Google chrome 我需要重新启动chrome以获得此扩展的工作。为什么?

Google chrome 我需要重新启动chrome以获得此扩展的工作。为什么?,google-chrome,google-chrome-extension,Google Chrome,Google Chrome Extension,Manifest.json: { "background_page": "background.html", "browser_action": { "default_icon": "icon-128.png" }, "name": "testtt", "description": "testttttttt", "icons": { "16": "icon-16.png", "48": "icon-48.png", "128": "icon-128.p

Manifest.json:

{
 "background_page": "background.html",
 "browser_action": {
 "default_icon": "icon-128.png"
 },
 "name": "testtt",
 "description": "testttttttt",
 "icons": {
     "16": "icon-16.png",
     "48": "icon-48.png",
     "128": "icon-128.png" },
 "permissions": [
     "tabs",
     "http://*/*",
     "https://*/*"
 ],
 "version": "0.1"
}
background.html:

<script>
    chrome.browserAction.onClicked.addListener(function(tab) {
        chrome.tabs.executeScript(tab.id, {file: "bookmarklet.js"})
    });
</script>

当我安装此扩展时,右上方的按钮不起作用。所以我需要重新启动chrome来让它工作。为什么?

在这方面起到了很好的作用

尽管如果您在
chrome://...
页面。但是您可以像这样修复
background.html

<script type="text/javascript">
    chrome.browserAction.onClicked.addListener(function(tab) {
        if(typeof(tab)!=='object' || tab.url.toLowerCase().indexOf('chrome://')===0) return;
        chrome.tabs.executeScript(tab.id, {file: "bookmarklet.js"})
    });
</script>

chrome.browserAction.onClicked.addListener(函数(选项卡){
if(typeof(tab)!='object'| | tab.url.toLowerCase().indexOf('chrome://'))==0)返回;
executeScript(tab.id,{file:“bookmarklet.js”})
});

已测试19.0.1084.46(官方版本135956)m

是之前安装的扩展的另一个版本?可能是。虽然他们建造这个东西是为了跨平台。如果您的扩展和控制台中没有其他任何红色,您应该在上提交一个bug。
<script type="text/javascript">
    chrome.browserAction.onClicked.addListener(function(tab) {
        if(typeof(tab)!=='object' || tab.url.toLowerCase().indexOf('chrome://')===0) return;
        chrome.tabs.executeScript(tab.id, {file: "bookmarklet.js"})
    });
</script>