【发布时间】:2017-06-21 05:14:25
【问题描述】:
我有这个sn-p:
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();
}
});
在旧版 chrome 从 v58 (58.0.3029.110) 向后运行脚本将给出打开新弹出窗口的正确行为。
但是在我将浏览器更新到 v59 (59.0.3071.104) 后,它不会打开一个弹出窗口,而是打开一个新的浏览器选项卡。
这是浏览器本身的问题吗?或者我的代码中的某些内容使其无法正常工作,前提是此处唯一的更改是浏览器版本。
附言 尝试这个 sn-p 到 mozilla 可以正常工作。
【问题讨论】:
标签: javascript google-chrome popupwindow