firefox插件错误中的关键事件:访问属性'的权限被拒绝;键入'
Key event from firefox addon error : Permission denied to access property 'type'
我有一组要运行的关键事件,但在扩展中执行这些事件时遇到了一些问题。
目标是在触发自动完成列表的输入元素上触发这些事件,并选择列表上的第一个:
var = document.getElementById(elementID);
// END KEY
var e = document.createEvent('KeyboardEvent');
e.initKeyEvent('keydown', true, true, window, false, false, false, false, 35, 0);
element.dispatchEvent(e);
var e = document.createEvent('KeyboardEvent');
e.initKeyEvent('keyup', true, true, window, false, false, false, false, 35, 0);
element.dispatchEvent(e);
// ARROW DOWN KEY
var e = document.createEvent('KeyboardEvent');
e.initKeyEvent('keydown', true, true, window, false, false, false, false, 40, 0);
element.dispatchEvent(e);
var e = document.createEvent('KeyboardEvent');
e.initKeyEvent('keyup', true, true, window, false, false, false, false, 40, 0);
element.dispatchEvent(e);
//ENTER KEY
var e = document.createEvent('KeyboardEvent');
e.initKeyEvent('keydown', true, true, window, false, false, false, false, 13, 0);
element.dispatchEvent(e);
var e = document.createEvent('KeyboardEvent');
e.initKeyEvent('keyup', true, true, window, false, false, false, false, 13, 0);
element.dispatchEvent(e);
如果我在firebug上运行这个,它就完全符合我的要求。
但当我从扩展中运行它时,控制台上出现一个错误,上面写着
访问属性"type"的权限被拒绝wich指向该网站的jQuery文件。
我不明白是什么触发了这个错误,因为它在Firebug中运行起来很顺利。
发生这种情况的一个例子是在www.kaya.com上,Paris在"From"字段。elementID是"origin"。
关于为什么会发生这种情况,有什么意见吗?
编辑:随着对这类错误的进一步研究,这似乎通常与同源政策问题有关,但我无法从我的扩展中弄清楚这是如何发生的。我可以找到元素,但当运行关键事件时,它会不断出现错误。
编辑2:
我已经在多个网站上测试了这一点,试图弄清楚发生了什么,它总是在控制台上给出一些关于jQuery库文件的错误。在其中一个网站上,它不是缩小版,可以看到错误是这段代码:
eventHandle = elemData.handle;
if (!eventHandle) {
elemData.handle = eventHandle = function (e) {
return typeof jQuery !== "undefined" && (!e || jQuery.event.triggered !== e.type) ? jQuery.event.dispatch.apply(eventHandle.elem, arguments) : undefined;
};
eventHandle.elem = elem;
}
关于这是如何阻碍我从分机发送的活动的,有什么想法吗?
更换
var e = document.createEvent('KeyboardEvent');
带有
var doc = gBrowser.selectedBrowser.contentDocument;
var e = doc.createEvent('KeyboardEvent');
感谢匕首@#extdev (irc.mozilla.org)
相关文章:
- keyup事件处理程序更改焦点不适用于快速键入
- 键入最后一位数字后自动提交
- 在流星上使用微信js-sdk时出现拒绝权限错误
- 我想在AngularJS应用程序中创建一个输入数字框,用户不应该在该框上键入十进制数字.(一个整数输入框)
- 在Nodejs中Express输入DEBUG=app时权限被拒绝/bin
- 键入环境安装不起作用
- 简单的ES6承诺问题-交换解决和拒绝参数
- javascript第三个XMLHttpRequest被拒绝.但前两个是允许的
- 应该如何在typescript中键入lodash流函数
- 在ES6 Promise中,我应该在解决/拒绝之前使用return吗
- 当用户停止键入时进行Ajax搜索
- 避免键入一些特殊字符
- 如何将键入的文本从一个输入类型的文本复制到另一个
- Facebook FB.init”;访问被拒绝”;在Internet Explorer 11中
- 未处理的拒绝MongoError:无法连接到MongoDB中的服务器
- Node.js solrProxy访问被拒绝
- 使用jquery创建dom元素会导致ie9出现拒绝访问错误
- CKeditor预览插件.js,为Chrome和IE进行编辑.因为它拒绝CSS样式
- jquery检查数字是否键入了isNaN
- firefox插件错误中的关键事件:访问属性'的权限被拒绝;键入'