Window.open()没有生效

Window.open()没有生效

引用博客地址
http://www.cnblogs.com/rainbowzc/p/3603209.html

最近在使用js的时候,实现的一个功能是点击按钮之后请求后台,然后返回一个图片的地址。
我尝试使用window.open()在生成图片之后自动打开一个标签
但是似乎没有起作用。
检查了好久,发现返回的也正确,js也没有报错。
查阅了引用的博客之后,发现似乎是因为被浏览器拦截了

下面是引用博客解决问题的地方

window.open是javascript函数,该函数的作用是打开一个新窗口或这改变原来的窗口,如果你直接在js中调用window.open()函数去打开一个新窗口,浏览器会拦截你,那么如何避免呢,感兴趣的朋友可以了解下本文或许对你学习有所帮助

window.open是javascript函数,该函数的作用是打开一个新窗口或这改变原来的窗口,不过一般用来的是打开新窗口,因为修改原来的网页地址,可以有另一个函数,那就是window.location,他可以重定向网页地址,使网页跳转到另一个页面。

我 现在要说的是window.open函数的几个使用策略,一般情况下,如果你直接在js中调用window.open()函数去打开一个新窗口,浏览器会 拦截你,认为你将弹出广告等用户不想得到的窗体,所以如果不想让浏览器拦截你,你可以将这个函数改为用户点击时触发,这样浏览器就认为是用户想访问这个页 面,而不是你直接弹出给用户。

所以常用的方法就是在超链接里加入onclick事件,如这样用户点击这个超链接,浏览器会认为它是打开一个新的链接,所以就不会拦 截。

我的解决办法

自然,我也是仅仅将URL送到一个button上面,然后再点击
但是觉得,这个交互有点难受,还必须点一下新的按钮
这也好办,让浏览器帮你点击

$("#linkHolder").click();

同时,新生成的一个button看起来挺烦的
那就将它的opacity设置为0,就没问题啦

如下,点击的时候会触发的函数

function openURL(obj){
    window.open(obj.name,'_blank');
    $(obj).css("opacity",0);
    $(obj).attr("disabled",true);
}

注意window.open()如果直接加链接的话不是打开一个新的标签,如果想让浏览器打开一个新的标签的话可以加上第二个参数


03-23 16:43
广告拦截器好强….
这里写图片描述
如果写自动点击还是会被拦截….还是乖乖手动点击吧

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值