Я пробовал "run_at": "document_start"
, но DOM отсутствует, когда расширение получает управление, поэтому я не могу вставить script
в head
. Кроме того, пытался использовать DOMNodeInserted
, но он не срабатывает для head
. если я попытаюсь вставить script
в первое событие DOMNodeInserted
, оно будет выполнено после сценариев веб-страницы.
Можно ли запустить скрипт в контексте веб-страницы до запуска любого из скриптов веб-страницы, используя расширение Chrome?
Ответы (1)
Корневой элемент всегда существует. Вы можете просто добавить <script>
к элементу <html>
:
var s = document.createElement('script');
s.textContent = 'console.log("Test");';
document.documentElement.appendChild(s);
s.parentNode.removeChild(s); // Just to clean-up.
person
Rob W
schedule
24.11.2012
Нет никакой гарантии относительно порядка выполнения динамически вставленного тега скрипта. Таким образом, этот метод может не сработать через некоторое время.
- person tsh; 07.08.2020