В моем расширении Google Chrome мне нужно ввести свой текстовый скрипт во все IFRAME
с на странице. Для того, чтобы сделать это мой оригинальный manifest.json
был объявлен как таковой:Невозможно внедрить скрипт контента во все IFRAME из моего расширения Chrome.
"content_scripts": [
{
"run_at": "document_end",
"all_frames" : true,
"matches": ["http://*/*", "https://*/*"],
"js": ["content.js"]
}
],
Это, казалось, работали на большинстве сайтов, пока я не наткнулся на IFRAME
, который был объявлен как таковой:
(от Chrome отладчика)
и вот 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
вот так?
Эй, ты человек! Благодарю. Я как-то упустил флаг 'match_about_blank'. Я также столкнулся с решением 'tabs.executeScript', но не смог узнать, как его использовать для ввода моего скрипта содержимого при загрузке страницы. Можете ли вы расширить это? – c00000fd
Если вы хотите вводить при каждой загрузке страницы, вы должны просто использовать определение скрипта содержимого. Чтобы использовать tabs.executeScript, вы обычно используете фоновый рисунок, который прослушивает tabs.onUpdated и вызывает tabs.executeScript при каждой загрузке страницы. – Scott
Хорошо, что о IFrame, который он представил, сделал это «about: blank» iframe? Я что-то упускаю? – rogerdpack