Javascript 通过greasemonkey的直接代码注入包括远程JS文件
我试图通过greasemonkey将javascript脚本引用直接插入到网页中。不管出于什么原因,它似乎不起作用。我的守则如下:Javascript 通过greasemonkey的直接代码注入包括远程JS文件,javascript,greasemonkey,Javascript,Greasemonkey,我试图通过greasemonkey将javascript脚本引用直接插入到网页中。不管出于什么原因,它似乎不起作用。我的守则如下: var headID = document.getElementsByTagName("head")[0]; var newScript = document.createElement('script'); newScript.type = 'text/javascript'; newScript.src = 'h
var headID = document.getElementsByTagName("head")[0];
var newScript = document.createElement('script');
newScript.type = 'text/javascript';
newScript.src = 'http://cubes-workbench.googlecode.com/files/test.js';
headID.appendChild(newScript);
任何帮助都将不胜感激。多谢各位 您的代码应该可以工作,除非(选择1个或多个):
- 文档实际上没有
。并非所有页面或iFrame都是这样 - Greasemonkey脚本设置为在文档开始时运行
- 有一个浏览器插件阻止JS——NoScript、AdBlock、RequestPolicy等
- 防火墙或其他安全应用程序或设备会阻止该脚本
- include、exclude或match指令阻止GM脚本在页面或iFrame上按预期触发
- 还有别的吗
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;
targ.appendChild (scriptNode);
}
addJS_Node (null, 'http://cubes-workbench.googlecode.com/files/test.js');
如果这不起作用,发布完整的GM脚本并链接到目标页面。JS控制台会告诉你什么?有错误吗<代码>控制台日志(头ID)。谷歌“调试JS”谢谢,我想是浏览器插件把我搞砸了。以这种方式包含脚本文件是否允许网页使用它,就像它最初被编码一样?是的。如果你遇到了复杂的问题,提出一个问题,解决方法通常是可行的。