2012-05-08 9 views
2

Chromeの拡張機能により、ボタンイベントを検出する方法を、私は私のscript.js background.html、ボタンがクリックされてから強いテキストファイルを注入し、私は警告したいですボタンが彼の仕事をするよりもいくつかのメッセージ。 ので、私は2つの質問があり、私はページ内のボタンイベントを検出したい

1.Iは私srcript.jsjqueryのを使用しようとするが、その動作しないように見える、私はbackground.htmlにjqueryのファイルを含める必要があり、どのように私はjqueryのを使用することができます.jsファイルですか?それがクリックされたときにボタンイベントを検出する

2.how?以下

私のコードです:スクリプトでjQueryのつまり、働いていない理由として

background.html

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script> 

<script> 
    chrome.browserAction.onClicked.addListener(function(tab) { 
    chrome.tabs.executeScript(null,{file:'script.js',allFrames:true}); 
    }); 
</script> 

script.js

if(self.frameElement && self.frameElement.tagName == "IFRAME"){ 
    $(":button").bind("click",function(){ 
    alert("iframe button"); 
    }); 
} 
else{ 
    $(":button").bind("click",function(){ 
    alert("parent button"); 
    }); 
} 
+0

'$(":button ")'が間違っています。 '$(" button.myClassName ")'や '$("#myButtonId ")'のようなものでなければなりません。 –

+0

ありがとうビートルート、私はこの2つの方法を試していますが、まだ動作しません、私のコードに間違っているのですか? –

+0

私は認めなければなりません、私はクロムエクステンションを書く経験がありません。あなたは本当のクラス名/本当のIDで私の提案を修正しましたか? –

答えて

7

background pageにjQueryが含まれているので、それを私たちにロードする必要がありますerのページの内線の世界。それを明確にする。あなたのscript.jsはユーザーのページに読み込まれるはずです。 Chromeはページに読み込まれますが、そのページの拡張機能の世界であるisolated worldにロードされます。 script.jsのように、そのページにjQueryをロードする必要があります。以下のように:ボタンをクリックすると、あなたが話しているボタンあなたの質問からその不明確に耳を傾けに関するあなたの他の質問については

<script> 
    chrome.browserAction.onClicked.addListener(function(tab) { 
     chrome.tabs.executeScript(null,{file:'jQuery.js',allFrames:true}); 
     chrome.tabs.executeScript(null,{file:'script.js',allFrames:true}); 
    }); 
</script> 

。ブラウザのアクションボタンですか?その場合、あなたのコードはうまく動作します。ユーザーのDOM上のボタンの場合は、上記のようにクリックイベントをリッスンし、拡張子(background.html)を通知するスクリプトを追加する必要があります。backgroundページがスクリプトをロードします。

+0

助けてくれてありがとう、juzerali!私はjQuery.jsを今よりも注入します!! 2番目の質問は、ユーザーのDOMのボタンを鳴らしたいのですが、自分のコードよりも魅力的なメソッドを使用すると、いくつかのメッセージを警告することができるので、とても感謝しています! –

+0

この回答を受け入れることができます。 –

+0

+1非常に面白いです。私はこれがChromeで利用可能であることを知らなかった。 –

関連する問題