将<script> src 设置为本地文件有效。例如:
addJS_Node (null, 'file:///D:/SAMPLE_DIR/YOUR_CODE.js');
function addJS_Node (text, s_URL, funcToRun) {
var D = document;
var scriptNode = D.createElement ('script');
scriptNode.type = "text/javascript";
if (text) scriptNode.textContent = text;
if (s_URL) scriptNode.src = s_URL;
if (funcToRun) scriptNode.textContent = '(' + funcToRun.toString() + ')()';
var targ = D.getElementsByTagName ('head')[0] || D.body || D.documentElement;
//--- Don't error check here. if DOM not available, should throw error.
targ.appendChild (scriptNode);
}
重要提示:您几乎总是必须指定完整路径,因为您希望文件从本地文件系统加载。浏览器会将相对路径解释为相对于当前网页(或<base> 标记值)。
回复:
这都是我希望完美转换为扩展的用户脚本
对于扩展,最好不要将 JS 注入目标页面,而是将其保持在“孤立世界”范围内。
对于扩展名或sometimes even just dedicated Chrome userscripts,使用manifest 轻松将文件包含到该范围内。 EG(来自here):
{
"name": "My extension",
...
"content_scripts": [
{
"matches": ["http://www.google.com/*"],
"css": ["mystyles.css"],
"js": ["jquery.js", "myscript.js"]
}
],
...
}