Chrome内容脚本无法附加侦听器

时间:2012-06-21 17:29:32

标签: javascript javascript-events google-chrome-extension

据我所知,您应该能够在内容脚本中附加事件侦听器。为了简明扼要,我有这个内容脚本:

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.onclickwindow.onresize。我哪里可能出错?


编辑: 好的,所以它现在可以在常规内容脚本中使用,这要归功于一个愚蠢的错字,但是当页面被加载到iframe中时我无法使它工作。

1 个答案:

答案 0 :(得分:0)

element.addEventListener('click', function(){});

element.onclick = function(){};

而不是

element.addEventListener('onclick', function(){});