【发布时间】:2011-08-04 20:20:15
【问题描述】:
升级到 Firefox 4 后,我开始在我维护的网站上看到此错误:
Permission denied for <...> to call method HTMLAnchorElement.focus
我已经构建了一个简单的场景来重现错误:
<html>
<body>
<a id="lnk" href="http://www.google.com/">Google</a>
<form>
<input type="text" />
<input type="submit" />
</form>
<script>
document.onkeypress = function(e) {
e = (e ? e : event);
var key = (e.which ? e.which : e.keyCode);
if(key == 13) {
var lnk = document.getElementById('lnk');
lnk.focus();
return false;
}
}
</script>
</body>
</html>
这在升级到 Firefox 4 之前运行良好……但是,我也不认为问题完全是 Firefox 的错。我这样说是因为它实际上似乎只发生在我的桌面安装上。我可以在其他 FF4 安装上使用相同的页面而不会出错。我已禁用所有扩展并重新启动,但错误仍然存在。知道我的安装中可能会导致这种情况的更改/插件/插件/任何东西吗?
谢谢...
【问题讨论】:
-
当用户按下回车键时,你想通过将焦点设置到链接来完成什么?
-
我在 firfox 4 中尝试了您的页面,没有问题。在页面上按 enter 会聚焦链接。我没有使用任何插件,我会尝试禁用您的插件并一次重新启用它们
-
@daniellmb :我网站的原始代码实际上聚焦了链接,然后“点击”它。重点就在那里,因为在我们的某些页面上,文本框具有需要触发的 onblur 事件,而仅仅单击链接是不允许的。
-
@kennebec :如前所述,我禁用了所有扩展程序并且问题仍然存在,否则我会遵循您的方法。所以我真的不认为它是一个扩展(除非即使禁用它也可以改变 FF 行为)。还有其他想法吗?谢谢...
-
所有这些代码都在同一个域上运行对吧?这不是跨源安全问题吗?
标签: javascript firefox firefox-addon firefox4 permission-denied