2015-05-05 2 views
1

Я создаю расширение chrome для комплимента myappapp. Короче говоря, он создает iframe внутри контент-скрипта, в котором размещается сайт, который я создал ранее. IFrame загружается локально с помощью расширения chrome.Выполнение родительского окна JS внутри iframe внутри расширения Chrome

Причина, по которой это iframe, заключается в том, что в отличие от создания всплывающего окна с действием браузера, я пытаюсь сделать его похожим на панель/модальный в gmail. Вот пример того, что он выглядит как

enter image description here

Теперь к реальной проблеме, я пытаюсь выполнить действие в IFRAME, который работает на родительском окне IFrame в. например window.parent.someMethod(). Однако каждый раз, когда я пытаюсь что я получаю эту ошибку:

Uncaught DOMException: Blocked a frame with origin 
"chrome-extension://dcihnokebmondckijoccdhbhcpkonfid" from accessing a 
cross-origin frame.(anonymous function) 

Я знаю, что это имеет отношение к безопасности, запеченной в хромовых-расширения и в попытке облегчить этот вопрос я установил мой content_security_policy внутри манифеста script-src 'self' 'unsafe-eval'; object-src 'self'; , Это не решило мою проблему.

Вкратце: Я ищу решение внутри расширения chrome, чтобы разрешить моему iframe доступ к окну родителей.

ответ

0

Вы не можете, насколько мне известно.

Вместо этого вы должны сообщить сценарию содержимого на вкладке, чтобы что-то сделать для вас.

+0

Эй, спасибо за предложение. Я реализовал 'chrome.runtime.sendMessage ({приветствие: "привет"});' в моем IFRAME и 'chrome.runtime.onMessage.addListener ( функцию (запрос, отправитель, SendResponse) { консоль .log (sender.tab? "из сценария содержимого:" + sender.tab.url: "из расширения"); } ); ' в моем расширении. Кажется, все еще не работает какие-либо идеи? – Spittal

+0

[Неверный 'sendMessage'] (http://stackoverflow.com/a/26768389/934239). – Xan

+0

Спасибо, посмотрим сейчас. – Spittal

Смежные вопросы