Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Firefox插件-无法触发任何类型的点击事件_Javascript_Jquery_Firefox Addon - Fatal编程技术网

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

Javascript Firefox插件-无法触发任何类型的点击事件,javascript,jquery,firefox-addon,Javascript,Jquery,Firefox Addon,我正在开发一个firefox插件,它将自动填充登录表单字段并登录。根据网站提供的内容,我可以访问从id的类或xpath到登录按钮的任何内容。捕获的优先级通常是id(如果存在)。不会触发点击的特定网站是: 我尝试使用$(元素)。trigger('click')或$(元素)。click(),它们都不会自动触发单击。控制台日志中的错误显示: XrayWrapper拒绝访问被调用的属性(原因:值是可调用的)。有关更多信息,请参阅。请注意,仅报告来自给定全局对象的第一次被拒绝的属性访问 我还尝试了如下所示

我正在开发一个firefox插件,它将自动填充登录表单字段并登录。根据网站提供的内容,我可以访问从id的类或xpath到登录按钮的任何内容。捕获的优先级通常是id(如果存在)。不会触发点击的特定网站是:

我尝试使用
$(元素)。trigger('click')
$(元素)。click()
,它们都不会自动触发单击。控制台日志中的错误显示:

XrayWrapper拒绝访问被调用的属性(原因:值是可调用的)。有关更多信息,请参阅。请注意,仅报告来自给定全局对象的第一次被拒绝的属性访问

我还尝试了如下所示的Javascript方法: 那也不行

XrayWrapper拒绝访问被调用的属性

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

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

类似于
newwindow.wrappedJSObject.MouseEvent(“单击”)
,与
dispatchEvent()
相同

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


另一种方法是使调用函数可以在内容窗口中访问
.callee

尝试
$(“#表单”).submit()
可能不带美元符号,tyr document.getElementById('elementId')。单击()如果这也失败了,那么你肯定可以这样做:你发布的错误可能会帮助我们解决这个问题,我不明白though@Tomanow我无法执行
$(“#表单”).submit()
,因为登录按钮本身可能有需要触发的单击处理程序。感谢@Noitidart无法按ID查找元素,因为有些网站不使用ID作为登录按钮,所以我在上面的问题中进行了编辑,根据网站的结构,有时我可以访问ID、类、整个元素甚至xpath。我仍然使用模拟点击得到那个错误。谢谢