我需要先执行脚本,然后再执行页面上的任何其他脚本,因此请使用Chrome扩展程序将其插入每个页面。该脚本确实在head元素之前注入,但是以某种方式它仅在我使用Control + F5时才首先运行,否则,如果我仅使用F5或浏览该页面,它将最后运行,即使在我使用开发人员工具检查时它仍处于相同的位置
我的manifest.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"]
}
我的loadscript.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");
页面中的脚本
window.alert("hello from page");
当我浏览到localhost上的页面时,所有内容看起来都可以正确加载为
<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中的脚本将最后运行。谁能为此找到解决方案?谢谢。