Скрипт внедряется в Chrome с использованием расширения, а скрипт контента не выполняется первым - PullRequest
0 голосов
/ 09 апреля 2019

Мне нужно, чтобы скрипт выполнялся перед любыми другими скриптами на странице, и поэтому я использую расширение Chrome, чтобы внедрить его в каждую страницу.Скрипт внедряется перед элементом head, но каким-то образом он запускается первым, когда я использую Control + F5, в противном случае, если я использую только F5 или просматриваю страницу, на которой он будет работать в последний раз, даже если он остается в том же положении, когда я проверяю инструментом разработчика.

Мой манифест.json

{
  "manifest_version": 2,
  "name": "My test 15",
  "version": "1.0.0",  
  "content_scripts": [
    {
      "matches": ["*://*/*"],
      "js": ["loadscript.js"],
      "run_at": "document_start"
    }
  ],
   "web_accessible_resources": ["test.js"]
}

Мой loadcript.js

var s = document.createElement('script');
s.src = chrome.runtime.getURL('test.js');
(document.head || document.documentElement).appendChild(s);

Скрипт в test.js

window.alert("hello from test.js");

Скрипт вpage

window.alert("hello from page");

Когда я перехожу на страницу на локальном хосте, все выглядит так, как будто она загружается правильно, как

<html>
<script src="chrome-extension://idjbemfgdjiggddofddpkcoccihmnefa/test.js"></script>
<head></head>
<body>
<script>window.alert("hello from page");</script>
</body>

Дело в том, что скрипт в test.js запускается первым, только если я нажимаю control+ f5.Если я зайду на страницу даже в первый раз или только с помощью f5, то скрипт в test.js будет запущен последним.Может у кого есть решение для этого?спасибо.

...