高血压专题网,内容丰富有趣,生活中的好帮手!
高血压专题网 > window.open()打开新窗口被浏览器拦截

window.open()打开新窗口被浏览器拦截

时间:2023-03-08 05:49:11

相关推荐

window.open()打开新窗口被浏览器拦截

原因:在浏览器的安全机制里面,非用户触发的window.open方法,是会被拦截的。

经过实际测试,Chrome、IE不会拦截,FireFox会拦截。

//不会被拦截$('#btn').click(function () {window.open(url)});

//会被拦截$('#btn').click(function () {$.ajax({url: '',success: function (url) {window.open(url);//用户没有直接发出window.open请求,而是发出一个ajax请求,window.open方法被放在了ajax的回调函数里}}) });

解决方法:

$('#btn').click(function () {//打开一个不被拦截的新窗口var newWindow = window.open();$.ajax({url: '',success: function (url) {//修改新窗口的urlnewWindow.location.href = url;}}) });//先在回调函数之前打开新窗口,后再加载url

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。