Firefox插件 - 无法触发任何类型的点击事件

时间:2015-01-26 22:59:46

标签: javascript jquery firefox-addon

我正在开发一个firefox插件,它将 自动 填充登录表单字段并登录。我可以访问的内容可以是id的类'或xpath到登录按钮,具体取决于网站提供的内容。捕获的优先级通常是id(如果存在)。不会触发点击的特定网站是:https://login.paylocity.com/escher/escher_webui/views/login/login.aspx

我尝试使用$(element).trigger('click')$(element).click(),但他们都不会自动触发点击。控制台日志中的错误显示:

  

XrayWrapper拒绝访问属性callee(原因:值可调用)。有关详细信息,请参阅https://developer.mozilla.org/en-US/docs/Xray_vision。请注意,只会报告来自给定全局对象的第一个被拒绝的属性访问。

我也试过这里显示的Javascript方法:Is it possible to trigger a link's (or any element's) click event through JavaScript? 这也行不通。

1 个答案:

答案 0 :(得分:2)

  

XrayWrapper拒绝访问属性callee

这表明脚本在一个环境中运行,该环境具有比页面内容本身更高的权限,这反过来会导致一些安全障碍(一个方向xray wrappers,另一方面访问被拒绝)调用者现在是部分特权代码,不允许访问内容。

您可以尝试手动合成DOM事件并触发它,而不是使用jquery,可能是通过访问不安全的窗口。

new window.wrappedJSObject.MouseEvent("click")的某些内容,dispatchEvent()的相同内容。

或者,您也可以尝试在表单上触发提交事件,而不是点击事件。

另一种方法是让.callee可以通过transplanting调用函数访问内容窗口。