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

时间:2012-05-23 17:12:27

标签: 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.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>

bookmarklet.js:

alert("hello");

当我安装此扩展程序时,右上角的按钮不起作用。所以我需要重新设置chrome以使其工作。为什么?

1 个答案:

答案 0 :(得分:1)

就像这样的魅力。

如果您在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>

测试19.0.1084.46(官方编译135956)m