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

看过很多解决这个办法的文章,但是对于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

时间: 2024-10-01 07:10:50

支付弹出窗口被拦截解决办法的相关文章

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

window.open是javascript函数,该函数的作用是打开一个新窗口或这改变原来的窗口,不过一般用来的是打开新窗口,因为修改原来的网页地址,可以使用window.location,可以重定向网页地址,使网页跳转到另一个页面. 但是一般情况下,如果直接在js中调用window.open()函数去打开一个新窗口,浏览器会对弹出的窗口进行拦截,因为浏览器会把该窗口认为是弹出广告等用户不想得到的窗体,如果不想让浏览器拦截,解决的方法是把window.open()函数改为由用户主动点击时触发,这

eclipse 总弹出 secure storage的解决办法

eclipse 总弹出 secure storage的解决办法 - 周柯文 - 博客园 执行如下命令: rm -rf ~/.eclipse/org.eclipse.equinox.security/ ? 或者 在eclipse中选择如下操作 Window -> PreferencesGeneral -> Security -> Secure Storage -> Content 然后展开左边的树选择相关内容,随后点击 "delete"按钮

使用POST方式弹出窗口的两种办法

使用POST方式弹出窗口的两种办法 最近在做一个功能需要弹窗,但是不能用get方式,因为get方式对url的长度有限制,所以必须用post,总结了两个方法,大家可以参考下 1. 代码如下: var $form1=$("<form action='"+url+"' id='f' name='f' method='post'></form>"); $form1.append($("<input type='hidden' name

UIWebView长按弹出菜单显示英文解决办法

UIWebView加载网页后,长按弹出菜单,显示如下英文菜单样式: 在Info.plist中添加CFBundleLocalizations字段,并增加zh_CN元素,即可将上述菜单显示为中文. UIWebView长按弹出菜单显示英文解决办法

JavaScript页面刷新与弹出窗口问题的解决方法

1. [代码][JavaScript]代码     ?一.无提示刷新网页 大家有没有发现,有些网页,刷新的时候,会弹出一个提示窗口,点“确定”才会刷新.而有的页面不会提示,不弹出提示窗口,直接就刷新了. 如果页面没有form,则不会弹出提示窗口. 如果页面有form表单,  a)< form method="post" ...> 会弹出提示窗口  b)< form method="get" ...> 不会弹出 二.javascript刷新页面

Android 底部弹出提示框的解决办法(使用Activity以及PopupWindow)

本片文章主要谈探讨了如何实现在底部弹出提示框背景为半透明效果的实现.想要实现此种效果一般有两种方式一个是使用Activity设置Theme另一种方式就是使用PopupWindow设置样式实现效果. 一,使用Activity 首先是此activity的布局文件: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.andro

easyui datagrid 弹出窗口空白的解决方法

我的主页面,代码如下: Javascript代码 //添加数据弹出窗口 $(function(){ addDataWin = $('#addData-window').window({ href:'${basePath}/page/marketPlat2/addData/addData.jsp?workId=${workId}year=${year}&month=${month} &quarter=${quarter}&businessType=${businessType}&am

js 弹出窗口 防止拦截,突破阻止,保存后打开

<script language="javascript"> function orderprint() { var formUrl = "savedata_url"; var formPrint ="";//保存成功后要弹出的窗口 $.ajax({ url: formUrl, data: $('#form1').serialize(), dataType: "html", async:false,//------

easyui导出excel无法弹出下载框的解决办法

之前用ajax做的,代码如下(ActionUrl为一般处理程序ashx的路径): $.ajax({ url: ActionUrl + '?action=export&ID=' + $('#fm_ID').val(), dataType: 'json', success: function (jsonstr) { //top.art.dialog.tips('导出成功!'); } }); 没办法弹出下载框. 直接浏览器地址栏输入相关页面地址并打开可以弹出下载框下载,考虑可能是iframe的缘故.