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


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

  • 相关阅读:
    Borladn传奇终结巨人倒下了
    C#数据导出到excel
    ADO.NET Entity Framework学习笔记(4)ObjectQuery对象
    ADO.NET Entity Framework学习笔记(3)ObjectContext对象[转]
    在Vista,WIN2K8下IE7.0就不能正常访问asp.net development server解决办法
    获取SQL Server表字段的各种属性
    白话说.net事件和委托
    Ado.Net Entity : Object doesn’t display linked members (foreign keys)
    移动飞信WEB发送服务接口
    asp.net FormsAuthentication 认证
  • 原文地址:https://www.cnblogs.com/lfm601508022/p/5534293.html
Copyright © 2020-2023  润新知