Chrome扩展程序与背景页面不使用清单版本2

时间:2012-11-10 08:29:12

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

我有一个简单的Chrome扩展程序,在Google Chrome中显示一个小图标。点击后,它会加载我网站的搜索页面,该页面会将您重定向到正确的页面。

https://chrome.google.com/webstore/detail/w3patrol-watch-over-any-w/addcgpijdjacmndaadfgcpbfinagiplm是扩展程序。

现在,谷歌迫使我更新到清单版本2而不是1.但这违反了我的工作扩展。

manifest.json中,我添加了manifest_version 2,但从那时起,当我点击它时,图标不再有效。

{
   "background": {
    "page": "background.html"
    },
   "browser_action": {
      "default_icon": "icon19.png",
      "default_title": "__MSG_default_title__"
   },
   "default_locale": "en",
   "description": "__MSG_description__",
   "icons": {
      "128": "icon128.png",
      "19": "icon19.png",
      "48": "icon48.png"
   },
   "name": "__MSG_name__",
   "permissions": [ "tabs", "http://*.w3patrol.com/" ],
   "update_url": "http://clients2.google.com/service/update2/crx",
   "version": "1.0",
   "manifest_version": 2
}

这是background.html

<script type="text/javascript">
chrome.browserAction.onClicked.addListener(function(tab) {
    chrome.tabs.getSelected(null,function(tab) {
        chrome.tabs.create( { url: "http://w3patrol.com/search.php?q=" +tab.url } );
    });
});

</script>

我需要添加/更改以使其与清单版本2一起使用?

1 个答案:

答案 0 :(得分:8)

您只需要从背景页面中删除脚本标记即可。以下是background.js(而不是background.html)的外观:

chrome.browserAction.onClicked.addListener(function(tab) {
    chrome.tabs.getSelected(null,function(tab) {
        chrome.tabs.create( { url: "http://w3patrol.com/search.php?q=" +tab.url } );
    });
});

然后删除“&#39;页面&#39;背景中的财产。添加脚本&#39;属性:

  "background": {
    "scripts": ["background.js"]
  },