支付弹出窗口被拦截解决办法

Posted lfm601508022

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了支付弹出窗口被拦截解决办法相关的知识,希望对你有一定的参考价值。

看过很多解决这个办法的文章,但是对于ajax请求的弹出窗都没什么用,直到看到了这边文章才豁然开朗,其实是很简单的,下面是复制过来的文章。

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

但是一般情况下,如果直接在js中调用window.open()函数去打开一个新窗口,浏览器会对弹出的窗口进行拦截,因为浏览器会把该窗口认为是弹出广告等用户不想得到的窗体,如果不想让浏览器拦截,解决的方法是把window.open()函数改为由用户主动点击时触发,这样浏览器就认为是用户想访问这个页面,而不是直接弹出给用户。

所以常用的方法就是在超链接里加入onclick事件,如

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

  

这样用户点击这个超链接,浏览器会认为它是打开一个新的链接,所以就不会拦截。

可是有时候会遇到想要弹出一个窗口,可是却是在onckick事件执行后,才去弹出来的,比如使用了$.JSON,点击获取数据后,再跳转到新页面,这时就会被浏览器拦截,我们可以通过下面的方法来避免,就是先用window.open打开一个窗口,然后修改该窗口地址。

如在$.JSON前面定义变量打开一个窗口,代码如下:

var tempwindow=window.open();

 

然后对$.JSON返回的地址使用以下代码使这个窗口跳转到指定网址,这样就会呈现弹出新窗口的效果了,而且不会被浏览器拦截。

tempwindow.location=‘/jump/new‘;

  

把上面跳转的地址改为$.JSON返回的变量或自己想要跳转到的网页。

转自:http://www.tuicool.com/articles/qaYzmey

以上是关于支付弹出窗口被拦截解决办法的主要内容,如果未能解决你的问题,请参考以下文章

解决弹出的窗口window.open会被浏览器阻止的问题

怎么用js弹出新窗口,不被浏览器拦截,包括,(ie,火狐,google的浏览器); 我这有段网上的代码,不会用

Chrome 的浏览器的拦截问题

苹果手机怎么阻止弹出网页?

layui弹出层layer过大被遮挡解决办法-resize事件自动调整

window.open() 某些情况会被浏览器阻止弹出窗口及解决办法