Как добавить панель iframe в расширение Google Chrome и добавить событие клика внутри iframe? - PullRequest
1 голос
/ 12 января 2011

Я сделал расширение, которое вставляет iframe на текущую веб-страницу, используя Content-scripts:

$('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 ...

Ответы [ 2 ]

1 голос
/ 09 марта 2011

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

* 1003 Е.Г. *

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

Ссылка: .contents

Не уверен, как Chrome обрабатывает это для расширений, но может быть, у вас будет политика того же происхождения проблема.

0 голосов
/ 11 июля 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...