2011-01-12 4 views
1

я сделал расширение, впрыснуть IFRAME на текущей веб-страницы, используя Content-скрипты:Как ввести панель iframe в расширение Google Chrome и добавить событие click внутри 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 на веб-странице, но я не знаю, как добавить событие щелчка для элемента, что внутри фрейма ...

ответ

1

Вы должны ждать, пока загрузится IFrame, а затем получить доступ к элементам внутри него:

Eg

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

Ссылка: .contents

Не знаю, как Chrome обрабатывает это для расширения, но это может быть, что вы будете иметь same-origin policy проблему.

0

Если вы можете управлять panel.html, просто поместите js, который обрабатывает событие click в panel.html.