2013-02-11 12 views
6

私は自分のサイトを作っているクロムエクステンションを持っています。現在、私は更新のために毎分データベースをチェックしています。Chrome拡張機能:拡張機能を使用して、ページ上のイベントをリッスンしますか?

拡張子を実際のページのイベントにリッスンすることはできますか?あなたがcontent_scriptを追加する必要があり、この

this.trigger('sendUpdate', data) //this happened on the page 

this.on(sendUpdate, function(){ //this is what the chrome extension listens for 
    //do stuff with data 
}) 

答えて

14

よう

何か。 content_scriptは、DOMへのフルアクセスを持っている、あなたはちょうどあなたがそれが見えるあなたの質問からも詳細http://developer.chrome.com/extensions/content_scripts.html

を得ることができますmenifestファイル

"content_scripts":[{ 
    "matches":["http://*/*","https://*/*"], 
    "js":"your injected script.js" 
}] 

にこれを追加するページ

上のすべてのイベントにバインドすることができますカスタムイベントで作業するようにcontent_scrip jsはこのようなものになります。

document.addEventListener('yourEventName', function(e){ 
    //send message to ext 
    var someInformation = {/*your msg here*/} 
    chrome.extension.sendMessage(someInformation, function(response) { 
     //callback 
    }); 
}, false); 

背景ページはメッセージを聞くべきです。

var evt = document.createEvent('Event'); 
evt.initEvent('yourEventName', true, true); 
var some_element = document; 
some_element.dispatchEvent(evt); 
+0

chrome.extension.onMessage.addListener(function(myMessage, sender, sendResponse){ //do something that only the extension has privileges here return true; }); 

、あなたがページ上のすべてのスクリプトからのイベントをトリガすることができますが...あなたは、私は答えを更新されたコンテンツスクリプト –

+0

からのイベントをリッスンする方法についての例を持っています。助けてくれる希望 – Josh

関連する問題