window中open被拦截怎么办-创新互联

这篇文章主要介绍了window中open被拦截怎么办,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

目前创新互联已为上1000+的企业提供了网站建设、域名、网站空间网站运营、企业网站设计、锦江网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

在Chrome的安全机制里,非用户直接触发的window.open方法,是会被拦截的。这是由于浏览器为了维护用户安全和体验,禁止在js中直接使用window.open(url)来打开新的链接(window.open(url,”_self”)改变当前的窗口是可以生效的)。

windowopen被拦截的解决方法

1.表单提交的方式

varform=document.createElement('form');

form.action='www.baidu.com?id=1';

form.target='_blank';

form.method='POST';

document.body.appendChild(form);

form.submit();

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

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

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

3.延迟这个打开操作

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

    windowopen被拦截换方式

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

vartempwindow=window.open('_blank');//先打开页面

tempwindow.location='http://www.baidu.com';//后更改页面地址

感谢你能够认真阅读完这篇文章,希望小编分享的“window中open被拦截怎么办”这篇文章对大家有帮助,同时也希望大家多多支持创新互联网站建设公司,,关注创新互联行业资讯频道,更多相关知识等着你来学习!


文章题目:window中open被拦截怎么办-创新互联
标题来源:http://myzitong.com/article/csdceh.html