使用Greasemonkey脚本将javascript从其他站点添加到页面

时间:2013-01-12 23:47:51

标签: javascript greasemonkey

是否可以使用Greasemonkey脚本将JS脚本从其他站点添加到页面中,以便它们运行?

2 个答案:

答案 0 :(得分:6)

您只需创建一个脚本元素并将其添加到文档

即可
// ==UserScript==
// @name       My Fancy New Userscript
// @description  enter something useful
// @match      http://*/*
// ==/UserScript==

(function () {
    var scriptElement = document.createElement( "script" );
    scriptElement.type = "text/javascript";
    scriptElement.src = "url to your script";
    document.body.appendChild( scriptElement );
})();

如果您只是希望脚本运行,那么这就足够了。 如果你想在你的用户脚本中使用像jQuery这样的库,它会变得棘手。 我有两种方法可以识别:

  • 一个是使用greasemonkey的require标签。
  • 另一个需要创建如上所示的脚本元素,但是您需要等待它加载,因此需要scriptElement.onload = function () {}并且您必须使用unsafeWindow来访问来自你的图书馆。

如果这是一个纯粹的greasemonkey脚本,我推荐第一种方法,因为只有你的脚本是从网站封装的。

答案 1 :(得分:0)

是的,您可以这样做:

let script = document.createElement('script');
script.src = "http://example.com/somescript.js";
document.body.appendChild(script);  // execute the script
document.body.removeChild(script);