使用window.open打開新窗口時經常會被瀏覽器攔截,自己嘗試解決方案如下:
a標簽替代
<a href="javascript:void(0)" onclick="window.open('http://www.baidu.com', '_blank');">click打開新窗口</a>
或者
<a href="javascript:void(0)" onclick='aaa();''>click打開新窗口</a>
function aaa() {
window.open('http://www.baidu.com', '_blank');
}
或者
ele.onclick = function() {
window.open('http://www.baidu.com', '_blank');
}
或者
ele.onclick = function() {
newWindow('http://www.baidu.com', 'bbb')
}
function newWindow(url, id) {
var a = document.createElement('a');
a.setAttribute('href', url);
a.setAttribute('target', '_blank');
a.setAttribute('id', id);
if(!document.getElementById(id)) {
document.body.appendChild(a);
}
a.click();
}
重定向
先通過用戶點擊打開一個新的空白窗口,然后再對新打開的頁面進行重定向。
ele.onclick = function() {
var tempWindow = window.open('', '_blank', ''); //打開一個新的空白窗口
tempWindow.location.; //對新打開的頁面進行重定向
}
下面方法不可行。
setTimeout(function() {
window.open('http://www.baidu.com', '_blank');
}, 100);