是否可以使用Greasemonkey脚本将JS脚本从其他站点添加到页面中,以便它们运行?
答案 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这样的库,它会变得棘手。 我有两种方法可以识别:
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);