js打开新窗口,浏览器禁止!

来源:互联网 发布:好看的网络剧霸道总裁 编辑:程序博客网 时间:2024/04/30 18:09

前几天,公司做项目时,需要实现一个功能是,用户点击银联或者支付宝支付时,在原本窗口显示提示信心,然后新开一个窗口完成支付平台的支付。一开始的想法是通过form表单加上target=_blank;去新开一个窗口,然而这么做的话。会被浏览器禁止掉。这样子对用户体验大大的降低,google很多方法,由于需要用到ajax,去请求数据,再在回调函数里面进行打开form表单的提交,刚开始,是通过将ajax的提交方式设置为 同步 ,再提交form表单,到那时这样子就会导致一个问题,并不是用户点击打开的新窗口。将会呗浏览器禁止掉,这个方法就行不通了,后来谷歌到一个方法一个方法。


$('#name').click(function (e) {    window.open();   //用户点击是新开一个空白窗口    $.ajax(url, {para: para}, success: function        (data) {<span style="white-space:pre"></span>window.location.href = '????';    //通过回调函数,在新窗口,赋值一个链接    });});

这样子浏览器就不会禁止掉新窗口了。只不过有个弊端是,速度上。由于用户点击,已经打开新的窗口,但是,这是一个空白的窗口,用户必须等待ajax中请求回来后,新窗口才会有链接,进行下一步的链接里面的请求。然后这个期间用于网络和后台的处理,所需要的时间都是不同的, 整体的时间有可能比较长。是一个弊端。还需要再想想其他的办法,暂时这么做!

0 0