如何将iframe面板注入Google Chrome扩展程序并在iframe中添加点击事件?

时间:2011-01-12 13:04:23

标签: javascript iframe google-chrome-extension

我做了一个扩展,使用Content-scripts将iframe注入当前网页:

$('body').append('<iframe src="' + chrome.extension.getURL('panel.html') + '" frameborder="0" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; z-index: 2147483647; position: fixed; width: 100%; left: 0px; bottom: 0px; height: 100px; display: block; visibility: visible; outline-style: none; outline-width: 0px; outline-color: rgb(0, 0, 0); " id="GE_Panel"></iframe>');

我可以在网页中查看iframe,但我不知道如何为iframe内的元素添加click事件......

2 个答案:

答案 0 :(得分:1)

您必须等到iframe已加载,然后访问其中的元素:

E.g。

$('<iframe ... />').load(function() {
    var doc = $(this).contents();
    doc.find('#yourLink').click(...);
}).appendTo('body');

参考:.contents

不确定Chrome如何处理扩展程序,但可能会出现same-origin policy问题。

答案 1 :(得分:0)

如果你可以控制panel.html,只需在panel.html中放置处理click事件的js。