来自firefox插件错误的关键事件:拒绝访问属性'type'的权限

时间:2013-07-06 14:38:05

标签: javascript jquery firefox-addon firebug

我有一组我想要运行的关键事件,但是从我的扩展程序中执行它们时遇到了一些麻烦。

目标是在触发自动完成列表的输入元素上触发这些事件,它将选择列表中的第一个:

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);

如果我在萤火虫上运行它,那就完全符合我的要求。

但是当我从我的扩展程序中运行它时,我在控制台上出现了错误

  

拒绝访问属性'type'的权限   这指向该网站的jQuery文件。

我不明白是什么触发了这个错误,因为它在Firebug中没有麻烦。

发生这种情况的一个例子是在www.kayak.com上与巴黎的“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;
}

关于这是如何影响我试图从我的扩展程序发送的事件的任何想法?

0 个答案:

没有答案