2012-02-24 4 views
1

私はChromeの拡張機能を記述しようとしていると、次のシナリオを実装する方法を理解するように見えることはできません。クロム含有量スクリプトのonclickイベント

  • ユーザーがページXに拡張機能のボタンを
  • ユーザーがクリックで
    • 何かが(具体的には、ユーザーはいくつかのURLにリダイレクトされます)が起こる

ここではmanifest.jsonをです:

{ 
    "name": "My First Extension", 
    "version": "1.0", 
    "description": "The first extension that I made.", 
    "browser_action": { 
    "default_icon": "icon.png", 
    "default_title": "my title" 
    }, 

    "content_scripts": [ 
     { 
     "matches": ["http://*/*", "https://*/*"], 
     "js": ["myscript.js"] 
     } 
    ], 


    "permissions": [ 
    "tabs", "https://*/*" 
    ] 

} 

、ここではmyscript.jsです:

alert('entered myscript.js..'); 

function doMagic() 
{ 
    alert('extension button clicked!!'); 
} 

chrome.extension.onClicked.addListener(doMagic); 

私はなど、本当に何かを明らかに不足しているイムが、ドキュメントからそれを把握するように見えるカント、他のサイトを知っています!!

答えて

5

content_scriptを使用しないでください。実際には、タブのHTMLにアクセスする必要がある場合にのみ必要です。

onClickedリスナーにはbackground_page、リダイレクトには​​を使用してページをリダイレクトします。

function doMagic(tab) { 
    chrome.tabs.update(tab.id, { url: 'http://www.google.com' }); 
} 
chrome.browserAction.onClicked.addListener(doMagic); 
+0

私はちょうど試し始めましたが、私の人生では私はタブのURLをリダイレクトできません!たとえば、これはうまくいきます:chrome.tabs.create({url: "http://www.google.com"});これはしません:chrome.tabs.update({url: "http://www.google.com"}); – Asker

+0

browserActionボタンをクリックしたときに現在のタブをリダイレクトする必要のあるサンプルコードを追加しました。 – abraham

+0

'update'は更新するタブを知るためにtab.idが必要です。 – abraham

関連する問題