2

Google Chrome に小さなアイコンを表示するシンプルな Chrome 拡張機能があります。クリックすると、私のサイトの検索ページが読み込まれ、適切なページにリダイレクトされます。

https://chrome.google.com/webstore/detail/w3patrol-watch-over-any-w/addcgpijdjacmndaadfgcpbfinagiplmが拡張子です。

現在、Google はマニフェスト バージョン 1 ではなくバージョン 2 への更新を強制しています。しかし、これは私の作業中の拡張機能を壊しています。

manifest_version 2 を追加しましmanifest.jsonたが、それ以降、アイコンをクリックしても機能しなくなりました。

{
   "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 で動作させるには、何を追加/変更する必要がありますか?

4

1 に答える 1

9

背景ページから script タグを削除するだけです。(background.html ではなく) background.js は次のようになります。

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

バックグラウンドで「ページ」プロパティを削除します。「スクリプト」プロパティを追加します。

  "background": {
    "scripts": ["background.js"]
  },
于 2012-11-10T08:34:17.300 に答える