包括远程JS文件通过直接代码注入与润滑器

Including remote JS file via direct code injection with greasemonkey

本文关键字:注入 代码 JS 文件 包括远      更新时间:2023-09-26

我正试图通过油彩键直接将javascript脚本引用插入网页。不管出于什么原因,它似乎都不起作用。我的代码如下:

    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);

如有任何帮助,我们将不胜感激。非常感谢。

您的代码应该可以工作,除非(pick 1或更多):

  • 该文档实际上没有<head>。并非所有页面或iFrame都能做到这一点
  • Greasemonkey脚本设置为在文档开始时运行
  • 有一个浏览器插件可以阻止JS--NoScriptAdBlockRequestPolicy
  • 防火墙或其他安全应用程序或设备会阻止该脚本
  • includeexcludematch指令可防止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脚本并链接到目标页面。