3
我有这样的片段:铬:window.open打开新标签而不是新的弹出窗口
HTML
<a href="#" class="option-link" data-url="https://www.google.com">CLICK ME</a>
JS
var popup = undefined;
// Option links toggle
$('.option-link').on('click', function (e) {
e.preventDefault();
var url = $(this).data('url');
if (typeof url !== 'undefined' && url) {
function __popup_open(link) {
return window.open(
link,
'same_window',
'width = 940, height = 620, toolbar = 0, menubar = 0, location = 1, status = 1, scrollbars = 0, resizable = 0, left = 0, top = 0'
);
}
if (typeof popup == 'undefined' || popup.closed) {
popup = __popup_open(url);
} else {
popup.close();
popup = __popup_open(url);
}
popup.focus();
}
});
运行在老的脚本v58版本(58.0.3029.110)向后版本的chrome会给出正确的行为来打开一个新的弹出窗口。
但是,当我将浏览器更新到v59(59.0.3071.104)后,它不打开弹出窗口,而是打开一个新的浏览器选项卡。
这是浏览器本身的问题吗?或者我的代码中的某些内容使得它不能工作,前提是这里唯一的变化是浏览器版本。
PS 试试这个片段mozilla工作正常。
在推荐它之前,您是否尝试过?因为它在Chrome 63中不起作用。 – chb