Если у меня есть следующий код в скрипте содержимого (content.js):
document.open();
document.write('test');
document.close();
с минимальным manifest.json
{
"name": "__MSG_appName__",
"version": "1.0.0",
"description": "__MSG_appDesc__",
"default_locale": "en",
"permissions": ["<all_urls>", "tabs", "storage"],
"content_scripts": [{
"js": ["content.js"],
}],
"manifest_version": 2
}
Браузер не должен отображать ничего, кроме'test' - но это работает только в Chrome.Точно такой же код не работает в FireFox, без ошибок консоли, и если я добавлю console.log()
после кода выше, он никогда не сработает.
Если я вставлю точно такой же код в консольв FireFox (или Chrome) он работает, как и ожидалось, но он не работает из скрипта контента.
Я также попытался изменить document
на window.top.document
и аналогичные, и вывелdocument
объект, чтобы убедиться, что я не схожу с ума (и он действителен), поэтому я не уверен, что упускаю что-то очевидное.
Обновление: У меня также естьобнаружил, что если вы запускаете document.write();
в консоли, чтобы получить пустую страницу, а затем перезагружаете плагин в about:debugging
, то плагин запускается снова и работает - но только если я запускаю open
или write
из консолисначала вручную.