2012-04-17 4 views
7

Я хочу запустить сценарий содержимого на iframe с URL-адресом chrome-extension: //. Я добавил строку в моей manifest.json, что я скопированный из документации http://code.google.com/chrome/extensions/match_patterns.htmlСоответствует ли content_scripts «chrome-extension: // */*»?

chrome-extension://*/* 

Но когда я перезагрузить мой расширение я получаю предупреждение:

Could not load extension from '/work/sirius/extension'. 
Invalid value for 'content_scripts[2].matches[0]': Invalid scheme. 

Любая идея, как получить эту работу ?

+0

Как отмечено в ответе @ Константина Смолянина ниже, в документе сейчас ничего не говорится о способности вводить сценарии содержания на страницы «chrome-extension:». –

ответ

7

Номер ftp:, file:, http: и https: могут быть сопоставлены декларацией сценария контента.

Неверные шаблоны URL-адресов в любом из полей matches и exclude_matches отклоняются (генерируя ошибку при попытке загрузить расширение).

Неверные рисунки в permissions option in the manifest file игнорируются.

Если вы хотите запустить сценарий на вкладке с вашего внутреннего номера, используйте chrome.extension.getViews в своем фоновом скрипте. Даже лучше, создайте страницы вашего расширения таким образом, чтобы они effectively communicate with each other(example).

+0

Я хочу запустить сценарий содержимого на iframe на веб-странице. chrome.extension.getViews() позволяет создавать сценарии на расширениях, а не на веб-страницах. – johnjbarton

+0

Я реализую механизм связи postMessage для iframe, но iframe не является моим кодом. Поэтому я хочу, чтобы content_scripts разрешали мне вводить конечную точку postMesssage(). – johnjbarton

+0

Вышеупомянутая ссылка на параметр «Разрешения в файле манифеста» заставляет меня исследовать с помощью программной инъекции скрипта. К сожалению, это тоже не сработает: веб-приложение, на котором размещается chrome-extension: // iframe не может запустить код расширения, необходимый для ввода в его iframe. Возможно, я могу написать отдельное расширение для программного введения, когда вкладка имеет соответствующий URL. – johnjbarton

8

У меня такая же проблема, посмотрите на API http://code.google.com/chrome/extensions/match_patterns.html, он четко говорит, что они принимают chrome-extension://*/*, но они этого не делают.

Им необходимо обновить API, чтобы не путать людей.

+2

Существует проблема с исправлением документации: http://code.google.com/p/chromium/ проблемы/детали? id = 153245 – rsanchez

+1

Как пояснил @ Константин Смолянин, документация обновлена. –

5

Похоже, что авторы Chrome молча удалили возможность вставлять содержимое скриптов в chrome-extension: страниц. Documentation все еще говорит, что он работает и даже содержит примеры с кодом chrome-extension:, но на самом деле он не работает. Итак, теперь только http:, https: и ftp: Работа «из коробки» и file: может работать, если пользователь вашего расширения включил это на странице Расширения (chrome: // extensions /).

Обновление: теперь обновленная документация обновлена ​​и ничего не говорит о возможности ввода сценариев контента на chrome-extension: страниц.

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