说明:window.open(url,"_blank")方法替换如下:

function openUrl(url) {
try {
if (/MSIE\s*(\d+\.\d+);/.test(navigator.userAgent) || /MSIE(\d+\.\d+);/.test(navigator.userAgent) || navigator.userAgent.indexOf('MSIE') >= 0 || navigator.userAgent.indexOf('msie') >= 0) {
var referLink = document.createElement('a');
referLink.href = url;
referLink.target = "_blank";
document.body.appendChild(referLink);
referLink.click();
} else {
var a = $("<a href='" + url + "' target='_blank'>download</a>").get(0);
var e = document.createEvent('MouseEvents');
e.initEvent('click', true, true);
a.dispatchEvent(e);
}
} catch (e) {
window.open(url);
}
}

简单的说就是构造 <a href="#" target="_blank">A标签打开新页</a> 这代码,然后模拟点击事件。这里仅仅是替换window.open()这方法。

js的window.open()改写的更多相关文章

  1. nw.js FrameLess Window下的窗口拖拽与窗口大小控制

    nw.js FrameLess Window下的窗口拖拽与窗口大小控制 很多时候,我们觉得系统的Frame框很难看,于是想自定义. 自定义Frame的第一步是在package.config文件中将fr ...

  2. js 完全分离 window.onload=

    js 完全分离  window.onload= <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" ...

  3. 在js中window.open通过“post”传递参数

    在js中window.open通过“post”传递参数的步骤如下: 如:在A.jsp中 有一个js方法 winow.open,目标地址是 xx.do 1.在A.jsp建一个form,把要设置的值通过j ...

  4. 关于js中window.location.href,location.href,parent.location.href,top.location.href的使用方法

    关于js中"window.location.href"."location.href"."parent.location.href".&qu ...

  5. 网站开发进阶(二十)JS中window.alert()与alert()的区别

    JS中window.alert()与alert()的区别 前言 alert与window.alert没什么区别,如果有人觉得有区别,那就来解释一下:所有以window.开始的语句,都可以直接把wind ...

  6. pageresponse.min.js自动缩放页面改写

    /* * 名称 :移动端响应式框架 * 作者 :白树 http://peunzhang.cnblogs.com * 版本 :v2.1 * 日期 :2015.10.13 * 兼容 :ios 5+.and ...

  7. jquery的$(document).ready()与js的window.onload区别

    <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...

  8. js的window对象

    js的window对象 1.子窗口方法 function testOpen(){ window.open('son.html','newwindow','height=400, width=600, ...

  9. js操作window

    js操作window 常用属性 window.closed // window是否关闭 window.length // iframe个数 window.name // 获取和设置window的名字 ...

随机推荐

  1. ActionScript3.0(AS3)中的泛型数组Vector

    Adobe官方并没有"泛型数组"的叫法,这是我自己对Vector的叫法(有点标题党),不过Vector在使用上确实跟c#中的泛型数组有些相似之处. 原作者:菩提树下的杨过出处:ht ...

  2. WebService关于Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart)问题解决

    错误原因:需要mail.jar和activation.jar. Solution:Web Services Required Jars Download Instructions http://www ...

  3. 笔记之monkey参数(一)

    monkey 参数 参数分类 常规类参数 事件类参数 约束类参数 调试类参数 常规类参数 常规类参数包括帮助参数和日志信息参数.帮助参数用于输出Monkey命令使用指导:日志信息参数将日志分为三个级别 ...

  4. ROS零门槛学渣教程系列(二十)——ROSJAVA和Android

    ros wiki地址:http://wiki.ros.org/android 第一步:安装JDK (参考博文:https://blog.csdn.net/Hong_A/article/details/ ...

  5. JS整理--闭包

    1.闭包可以访问当前函数以外的变量 function a(){ var date="1"; function b(str){ console.log(str+date) } ret ...

  6. js项目练习第一课

    控制div属性 <style> .c1 { width:200px; height:200px; background-color: #000; display: block; margi ...

  7. VirtualBox虚拟机E_INVALIDARG (0x80070057)

    转自:http://www.wzwzl.com/zblog/blog_wz/32.html 打开以前的VirtualBox虚拟机文件时,错误提示:返回 代码:E_INVALIDARG (0x80070 ...

  8. centos中病毒

    嗯 很开中了病毒,,,而且这是第二次了.... 然后大佬说让我  crontab -l  一下 然后试了下 然后出来这个东东 执行下  crontab -r  这个  然后就crontab -l  就 ...

  9. 某app的安全性分析过程

    交互过程如下,可以发现问题很多 http://www.ixxxx.com//api/index/app图片验证码:{"data":{"imgCode":&quo ...

  10. java Quartz任务调度器

    1.quarz对java1.5实现的简单调度做了封装 /**     * quartz对任务调度进了高度抽象: 1调度器:2任务:3触发器     * Job接口(任务):定义需要调度的任务     ...