Chrome扩展程序无法使用已更改的default_popup属性

时间:2013-09-09 02:14:38

标签: javascript html json google-chrome-extension manifest

以下是我的manifest.json内容:

{
"update_url":"http://clients2.google.com/service/update2/crx",
"background": "background.html",
"browser_action":
                   {
                   "default_icon": "128.png",
                   "default_title": "Music",
                   "default_popup": "background.html"
                   },
"description": "abc" ,
"name": "Music Discovery" ,
"permissions": ["tabs"],
"version": "2.1",
"manifest_version": 2

}

现在虽然我已经用default_popup属性替换了popup属性,但仍然无效。 我的background.html包含一个简单的UI,可以通过单击按钮调用java脚本。 但它不起作用,没有任何事情发生在点击。 提前谢谢。

1 个答案:

答案 0 :(得分:1)

{

    "name": "Music Discovery",
    "version": "2.1",
    "manifest_version": 2,
    "description": "abc" ,

    "background": {
        "scripts": ["background.js"],
        "persistent": false // add this line if you use event page.
    },

    "browser_action": {
        "default_icon": "128.png",
        "default_title": "Music",
        "default_popup": "popup.html"
    }

}

我从未使用过“update_url”属性,因此我不知道将它放在哪里。 但是,我认为你的manifest.json应该是这样的。

我相信如果你想使用具有UI的弹出窗口,你应该提供popup.html而不是background.html。

后台页面只处理逻辑,而不是视图。

  

我的background.html包含一个调用java脚本的简单UI   点击按钮。

因此,如果您想在popup.html中的按钮上添加click事件,请编写用于在popup.js中添加click事件的代码。

<强> popup.js

document.getElementById('name-of-id').onclick = function() {
    //do something.
}

然后,像这样从popup.html导入popup.js。

<强> popup.html

<script src="popup.js"></script>