<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title>JS实现文件上传下载</title>
</head>
<body>
<a href="javascript:void(0);" id="oDownLoad" οnclick="oDownLoad('1.pdf','oDownLoad')">下载</a>
</body>
<script>function myBrowser(){var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串var isOpera = userAgent.indexOf("Opera") > -1;if (isOpera) {return "Opera"}; //判断是否Opera浏览器if (userAgent.indexOf("Firefox") > -1) {return "FF";} //判断是否Firefox浏览器if (userAgent.indexOf("Chrome") > -1){return "Chrome";}if (userAgent.indexOf("Safari") > -1) {return "Safari";} //判断是否Safari浏览器if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {return "IE";}; //判断是否IE浏览器if (userAgent.indexOf("Trident") > -1) {return "Edge";} //判断是否Edge浏览器}function oDownLoad(url,id) {if (myBrowser()==="IE" || myBrowser()==="Edge"){var oPop = window.open(url,"","width=1, height=1, top=5000, left=5000");for(; oPop.document.readyState != "complete"; ){if (oPop.document.readyState == "complete")break;}oPop.document.execCommand("SaveAs");oPop.close();}else{//!IEvar odownLoad=document.getElementById(id);odownLoad.href=url;odownLoad.download="";}}
</script>
</html>

注:在html同一目录下准备一个1.pdf文件。

JS实现文件下载(适应多种浏览器)相关推荐

  1. js框架jquery实现的幸运大转盘抽奖程序代码,兼容多种浏览器(Internet Explorer 6.0+ 、Firefox 2.0 、Safari 3 、Opera 9 、Chrome)

    博客目录 js框架jquery实现的幸运大转盘抽奖程序代码 实现功能截图 系统功能 使用技术 代码 写在最后 js框架jquery实现的幸运大转盘抽奖程序代码 本系统实现了一个幸运转盘抽奖,兼容多种浏 ...

  2. js框架jquery实现幸运大转盘抽奖程序代码,兼容多种浏览器

    原文:js框架jquery实现幸运大转盘抽奖程序代码,兼容多种浏览器 源代码下载地址:http://www.zuidaima.com/share/1779633798073344.htm 看到网页上有 ...

  3. 网页内容复制粘贴(三种方案 兼容多种浏览器)

    tags: js ctrl+c 网页内容复制粘贴(三种方案 兼容多种浏览器) 对网页上的内容实现复制粘贴的功能 痛点:需要支持多种不同的浏览器 主要有IE,Firefox IE浏览器下的解决方案: w ...

  4. js获取IP地址多种方法实例教程

    js获取IP地址方法总结  js代码获取IP地址的方法,如何在js中取得客户端的IP地址. 原文地址:js获取IP地址的三种方法 http://www.jbxue.com/article/11338. ...

  5. JS中常遇到的浏览器兼容问题和解决方法

    JS中常遇到的浏览器兼容问题和解决方法 参考文章: (1)JS中常遇到的浏览器兼容问题和解决方法 (2)https://www.cnblogs.com/wws-bk/p/9770834.html 备忘 ...

  6. 转:优化js脚本设计,防止浏览器假死

    原链接打不开了,复制一份保存: 在Web开发的时候经常会遇到浏览器不响应事件进入假死状态,甚至弹出"脚本运行时间过长"的提示框,如果出现这种情况说明你的脚本已经失控了,必须进行优化 ...

  7. jquery.placeholder.min.js让你的IE浏览器支持placeholder

    2019独角兽企业重金招聘Python工程师标准>>> jquery.placeholder.min.js让你的IE浏览器支持placeholder http://www.ijque ...

  8. js判断是否在微信浏览器中打开

    js判断是否在微信浏览器中打开 function is_weixn(){ var ua = navigator.userAgent.toLowerCase(); if(ua.match(/MicroM ...

  9. 在多种浏览器中嵌入Applet

    1 基本信息 摘要:一个开发好的Java Applet,是通过标准的标签(Tag)嵌入到HTML页面中的.浏览器在解析到支持的嵌入Applet的标签时,会启动Java Plug-in来渲染标签中的Ja ...

最新文章

  1. ppct各代表什么_开关背面L、L1、L2各代表什么?火线,零线,地线怎样接?
  2. mysql多个实例 主从库_mysql主从复制系列(1)搭建多个mysql实例环境
  3. CHOJ# 在线编译及评判系统(OnlineJudge)2.0 Beta2
  4. html5+调用safari,Safari浏览器不酷,HTML5无效元素; JavaScript是
  5. ontological 词根词缀_英语中最常见的词缀(一)之 re
  6. VTK:图像转结构化点用法实战
  7. 我是一名黑客我也是一名程序员
  8. swift 可变參数
  9. php中符号 的作用是什么意思,PHP中@符号的用途是什么?
  10. python打开文件要wordcloud吗,使用python创建wordcloud
  11. Jmeter系列之Jmeter+Grafana+InfluxDB实时监控
  12. Qt编写OpenMP程序--双循环
  13. dcp1608w电脑通过_dcp-1608打印机驱动程序
  14. 机器学习 (六): Sigmoid 公式推导和理解
  15. 超纯水工业水处理工程方案解析
  16. 【运筹优化】SOA海鸥优化算法求解无约束多元函数最值(Java代码实现)
  17. jquery禁止复制、禁用右键、文本选择功能、复制按键
  18. js闭包的理解及应用场景
  19. vyos-vyatta在ospf和bgp之间路由重发布使用 打tag形式进行路由过滤
  20. 比 Redis 还快,更省内存,惊爆了!

热门文章

  1. matlab 色温图,色温及如何选择色温图文详解
  2. 云计算、大数据、人工智能傻傻分不清楚?本文详解这三者的关系
  3. qq三国挂机云服务器,云服务器挂机QQ三国游戏的流程和实际操作概况记录
  4. python全排列,递归
  5. element build 打包之后生产环境图标偶尔乱码
  6. 老中医开药,有需要的自己取
  7. 个人负责项目的功能模块分析
  8. 分享 29 款 Chrome 插件,总有一款适合你
  9. 新购笔记本电脑验机方法(看是否是新机)
  10. 阿里DruidDataSource访问RDS安全级别受限问题排查