所以,目前我有一个脚本可以拦截任何鼠标点击标签,修改传出链接,并将用户发送到他们的路上:
$("a[href*='" + someDomain + "']").bind('click keypress', function(event) {
event.preventDefault();
var link = this.href;
var newLink = link + params;
var button = event.button;
if(button && button == 0)) {
window.location = newLink;
} else if(button && button === 1) {
window.open(newLink, '_blank');
}
});
此代码将确定它是左键单击还是中键单击,并重定向当前页面,或相应地在新窗口/选项卡中打开。
据我所知,代码在 Chrome/IE 中运行良好。但是,在最新版本的 Firefox 中,只有左键单击有效。
对于中键单击,该事件未注册。所以,我的第一个想法是研究必须触发的其他事件。我能找到的唯一一个是 mousedown/mouseup(单击是这些的组合)。
使用 mousedown 或 mouseup,然后我让事件在 Firefox 中正确注册中键。但是,问题就变成了 Firefox 将拒绝从不是 CLICK 事件结果的 javascript 代码打开任何新窗口。
所以....任何线索如果这实际上是可能的?我不想让用户必须允许弹出窗口,或者重新映射他们的中间点击功能以在当前窗口中打开。
提前感谢您的帮助!