Jquery Greasemonkey脚本,从其他页面脚本调用函数
我正在为其编写greasemonkey脚本的页面已经包含jquery,因此我想知道是否/如何访问已经包含的jquery函数,而不是在我的greasemonkey脚本中包含jquery 在我的尝试中,如果我将jquery包含在脚本中,它就可以正常工作。但是我没有找到服务器页面包含的函数。我无法控制服务器 主要是好奇我是否能访问这些函数Jquery Greasemonkey脚本,从其他页面脚本调用函数,jquery,greasemonkey,Jquery,Greasemonkey,我正在为其编写greasemonkey脚本的页面已经包含jquery,因此我想知道是否/如何访问已经包含的jquery函数,而不是在我的greasemonkey脚本中包含jquery 在我的尝试中,如果我将jquery包含在脚本中,它就可以正常工作。但是我没有找到服务器页面包含的函数。我无法控制服务器 主要是好奇我是否能访问这些函数 最坏的情况是,我将在脚本中包含jquery代码,因此这不是一个严重的问题。这有点不太正常,但有时您可以通过创建triggerfunction HTML元素并将其插入
最坏的情况是,我将在脚本中包含jquery代码,因此这不是一个严重的问题。这有点不太正常,但有时您可以通过创建triggerfunction HTML元素并将其插入页面来触发页面上的函数。然后使用Greasemonkey在您想要触发函数时单击链接 例如,假设页面上有一个名为“runGame()”的函数。在Greasemonkey脚本的早期,您有:
var triggerHTML = "<a id=\"triggerfunction\" onclick=\"runGame()\">triggerfunction</a>";
然后,当您想运行函数时,执行
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click", true, true, window,
0, 0, 0, 0, 0,
false, false, false, false,
0, null);
var triggerGame= document.getElementById("triggerfunction");
triggerGame.dispatchEvent(evt);
您应该使用
unsafeWindow
调用页面脚本,例如,您将编写unsafeWindow.$
而不是$
但是,请确保您了解因使用不安全窗口而产生的安全威胁,这些威胁在中有说明。为什么这个问题被否决?对我来说,这似乎是一个非常清楚的问题。服务器页面?$()中包含的
函数是什么?其他几个函数似乎可以通过unsafeWindow访问。有没有更安全的方法?
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click", true, true, window,
0, 0, 0, 0, 0,
false, false, false, false,
0, null);
var triggerGame= document.getElementById("triggerfunction");
triggerGame.dispatchEvent(evt);