私の知る限り、コンテンツ スクリプト内からイベント リスナーをアタッチできるはずです。本質的な部分にまで絞り込むために、次のコンテンツ スクリプトを用意しました。
if (document.getElementsByTagName('img')) {
alert('This will fire');
document.getElementsByTagName('img')[0].addEventListener('onclick', function() {
alert('This will not fire');
});
}
コンテンツ スクリプトを使用して、ページにスクリプト要素を挿入することさえ試みました。ただし、挿入されたスクリプトは、イベント ハンドラーをアタッチすることもできません。
参考までに、manifest.json のスニペットを次に示します。
"content_scripts": [{
"matches": [
"http://*/*",
"https://*/*"
],
"run_at": "document_end",
"js": ["js/contentscript.js"],
"all_frames": true
}]
問題ではないことを肯定するためだけに、許可を取り過ぎました。
具体的には と を扱いたいと思いimg.onclick
ますwindow.onresize
。どこが間違っているのでしょうか?
編集:さて、愚かなタイプミスのおかげで通常のコンテンツ スクリプトで動作するようになりましたが、ページが iframe に読み込まれると動作しません。