2012-03-06 9 views
0

ツールバーにクロム拡張機能を作成しようとしています。クリックすると、現在のページがそのページのGoogleキャッシュバージョンに変換されます。私がすでにGoogleのキャッシュに入っている場合は、「あなたはすでにこのページのGoogleキャッシュバージョンにいます!」という小さなポップアップを開きたいと思います。クローム・エクステンションのポップアップを開くにはどうすればいいですか?

は、ここで私が得たものです:

manifest.jsonを:

{ 
    "name": "gCache", 
    "version": "1.1.5", 
    "description": "View the Google Cache of a page", 
    "background_page": "redirect.html", 

    "browser_action": { 
    "default_icon": "icon.png", 
    "default_text": "Google Cache version of this page" 
    }, 

    "permissions": [ 
    "tabs" 
    ] 
} 

redirect.htmlを:

<script> 

chrome.browserAction.onClicked.addListener(function(tab) { 
    if (tab.url.substring(0, 38) == "http://webcache.googleusercontent.com/") 
     //Popup saying user is already on a webcache page 
    else if(tab.url.substring(0, 5) == "http:") 
     chrome.tabs.update(tab.id, { url: 'http://webcache.googleusercontent.com/search?q=cache:' + tab.url.substr(7) }); 
    else if(tab.url.substring(0,6) == "https:") 
     chrome.tabs.update(tab.id, { url: 'http://webcache.googleusercontent.com/search?q=cache:' + tab.url.substr(8) }); 

}); 

</script> 

は読み込みのためとご協力いただきありがとうございます!

+0

コンテンツスクリプトを使用してJS警告()を表示することができます。デスクトップ通知を使用する方がユーザーの方が優れていると思います。 –

+0

@JasonHall迷惑なので、私はJS 'alert()'を使用しません。クロム拡張のポップアップ機能を使用したいと思います。しかし、それは私がしたいことのための機能がちょうど存在しないように見え始めています – Dbz

+0

それは存在します、私は時々だけポップアップを示すよい方法があると確信していません。あなたはポップアップを常にすぐに表示してすぐに閉じることができます、それはそれが動作するように十分に速くなるかもしれませんが、私はそれは疑いの種です。また、拡張機能をブラウザアクションではなくページアクションにすることもできます。そのため、これらのページにはアイコンが表示されません。 –

答えて

0

browserActiononClickイベントをポップアップで開くことはできません。代わりにDesktop Notifications APIを使用します。

+0

デスクトップ通知APIはここでは役に立たないと思います。 {"default_popup":}も有効になっている理由はありますか? – Dbz

+0

5秒後に通知が自動的に隠れるようにすることもできます。 Googleはこれを次のように設計しました。 'ブラウザのアクションアイコンがクリックされたときに発生します。ブラウザのアクションにポップアップがある場合、このイベントは発生しません。 https://code.google.com/chrome/extensions/browserAction.html#event-onClicked – abraham

関連する問題