【发布时间】:2011-05-30 13:04:53
【问题描述】:
如果按下“F2”,我想打开新窗口。下面的代码在 Firefox 中给了我newWindow is null 错误消息。如果我不使用弹出窗口阻止程序,它就可以工作。在 IE 中也是如此。即使打开了弹出窗口阻止程序,它也可以在 chrome 中使用。
hotkeys: {
"f3" : function () {
url = "http://www.vse.cz";
var newWindow = window.open(url, '_blank');
newWindow.focus();
return false;
},
Q1:我可以让它适用于所有浏览器,这样用户在使用热键插件时就不必更改他们的设置了吗?
Q2:为什么Using JavaScript instead of target to open new windows 在firefox 中没有任何问题?那是因为它是一个链接而不是使用热键插件吗?
我的理解是上面页面的脚本不知何故 操纵发生的事情 当用户单击链接时。它改变了点击的属性,所以 浏览器“不知道”它是新窗口,所以弹出窗口拦截器是 绕过。
在我的情况下,我使用由其他东西触发的纯 js 函数,而不是由 用户点击。并且“我的函数”不会更改任何 html 对象的属性。我认为这就是区别。我不确定我是不是 就在这里。
【问题讨论】:
标签: javascript jquery jstree