window.open(url)打开链接被浏览器拦截解决方案

1.表单提交的方式

function mingzi()
        {
var form = document.createElement('form');
form.action = 'http://www.hack001.com';
form.target = '_blank';

form.method = 'POST';

document.body.appendChild(form);
form.submit();
        }

这种方式,如果需要传递参数时,需要使用 POST 方法, 默认的 GET 方法无法传递参数。也就是新页面的url中没有参数部分。

另外,Ajax下载文件时也是用form 表单来模拟下载。

 

A标签带上: onclick="jr()"  即可

 

 

2.直接将打开窗口操作放在按钮/链接的onclick事件中

如:

<a href="javascript:void(0)" onclick="window.open(url)"></a>



3.延迟这个打开操作

如:

setTimeout('window.open(url);', 500); // 延迟时间不能太短 否则也会被拦截


4.通过JS打开新窗口会被拦截,换一种实现方式

var tempwindow=window.open('_blank'); // 先打开页面tempwindow.location='http://www.baidu.com'; // 后更改页面地址



转自:https://blog.csdn.net/yypsober/article/details/79487217