2

В моем расширении Google Chrome мне нужно ввести свой текстовый скрипт во все IFRAME с на странице. Для того, чтобы сделать это мой оригинальный manifest.json был объявлен как таковой:Невозможно внедрить скрипт контента во все IFRAME из моего расширения Chrome.

"content_scripts": [ 
    { 
     "run_at": "document_end", 
     "all_frames" : true, 
     "matches": ["http://*/*", "https://*/*"], 
     "js": ["content.js"] 
    } 
], 

Это, казалось, работали на большинстве сайтов, пока я не наткнулся на IFRAME, который был объявлен как таковой:

(от Chrome отладчика) enter image description here

и вот HTML для него:

<iframe id="wysiwygtext_ifr" src='javascript:""' frameborder="0" allowtransparency="true" title="Rich Text Area." style="width: 100%; height: 341px; display: block;"></iframe> 

В этом случае т y в этот код не вводится IFRAME.

Я попытался сменить фильтр matches на "matches": ["<all_urls>"], но это все еще не делалось.

Есть ли какой-либо способ для ввода моего сценария содержания в IFRAME вот так?

ответ

6

Это как раз то, что для фона был установлен флаг match_about_blank. Он был окончательно выпущен в континент в Chrome 37.

Просто добавьте "match_about_blank": true в определение скрипта содержимого.

Вы также можете использовать его в tabs.executeScript. См:

+0

Эй, ты человек! Благодарю. Я как-то упустил флаг 'match_about_blank'. Я также столкнулся с решением 'tabs.executeScript', но не смог узнать, как его использовать для ввода моего скрипта содержимого при загрузке страницы. Можете ли вы расширить это? – c00000fd

+0

Если вы хотите вводить при каждой загрузке страницы, вы должны просто использовать определение скрипта содержимого. Чтобы использовать tabs.executeScript, вы обычно используете фоновый рисунок, который прослушивает tabs.onUpdated и вызывает tabs.executeScript при каждой загрузке страницы. – Scott

+0

Хорошо, что о IFrame, который он представил, сделал это «about: blank» iframe? Я что-то упускаю? – rogerdpack

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

  • Нет связанных вопросов^_^