JS实现文件下载(适应多种浏览器)
<!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实现文件下载(适应多种浏览器)相关推荐
- js框架jquery实现的幸运大转盘抽奖程序代码,兼容多种浏览器(Internet Explorer 6.0+ 、Firefox 2.0 、Safari 3 、Opera 9 、Chrome)
博客目录 js框架jquery实现的幸运大转盘抽奖程序代码 实现功能截图 系统功能 使用技术 代码 写在最后 js框架jquery实现的幸运大转盘抽奖程序代码 本系统实现了一个幸运转盘抽奖,兼容多种浏 ...
- js框架jquery实现幸运大转盘抽奖程序代码,兼容多种浏览器
原文:js框架jquery实现幸运大转盘抽奖程序代码,兼容多种浏览器 源代码下载地址:http://www.zuidaima.com/share/1779633798073344.htm 看到网页上有 ...
- 网页内容复制粘贴(三种方案 兼容多种浏览器)
tags: js ctrl+c 网页内容复制粘贴(三种方案 兼容多种浏览器) 对网页上的内容实现复制粘贴的功能 痛点:需要支持多种不同的浏览器 主要有IE,Firefox IE浏览器下的解决方案: w ...
- js获取IP地址多种方法实例教程
js获取IP地址方法总结 js代码获取IP地址的方法,如何在js中取得客户端的IP地址. 原文地址:js获取IP地址的三种方法 http://www.jbxue.com/article/11338. ...
- JS中常遇到的浏览器兼容问题和解决方法
JS中常遇到的浏览器兼容问题和解决方法 参考文章: (1)JS中常遇到的浏览器兼容问题和解决方法 (2)https://www.cnblogs.com/wws-bk/p/9770834.html 备忘 ...
- 转:优化js脚本设计,防止浏览器假死
原链接打不开了,复制一份保存: 在Web开发的时候经常会遇到浏览器不响应事件进入假死状态,甚至弹出"脚本运行时间过长"的提示框,如果出现这种情况说明你的脚本已经失控了,必须进行优化 ...
- jquery.placeholder.min.js让你的IE浏览器支持placeholder
2019独角兽企业重金招聘Python工程师标准>>> jquery.placeholder.min.js让你的IE浏览器支持placeholder http://www.ijque ...
- js判断是否在微信浏览器中打开
js判断是否在微信浏览器中打开 function is_weixn(){ var ua = navigator.userAgent.toLowerCase(); if(ua.match(/MicroM ...
- 在多种浏览器中嵌入Applet
1 基本信息 摘要:一个开发好的Java Applet,是通过标准的标签(Tag)嵌入到HTML页面中的.浏览器在解析到支持的嵌入Applet的标签时,会启动Java Plug-in来渲染标签中的Ja ...
最新文章
- ppct各代表什么_开关背面L、L1、L2各代表什么?火线,零线,地线怎样接?
- mysql多个实例 主从库_mysql主从复制系列(1)搭建多个mysql实例环境
- CHOJ# 在线编译及评判系统(OnlineJudge)2.0 Beta2
- html5+调用safari,Safari浏览器不酷,HTML5无效元素; JavaScript是
- ontological 词根词缀_英语中最常见的词缀(一)之 re
- VTK:图像转结构化点用法实战
- 我是一名黑客我也是一名程序员
- swift 可变參数
- php中符号 的作用是什么意思,PHP中@符号的用途是什么?
- python打开文件要wordcloud吗,使用python创建wordcloud
- Jmeter系列之Jmeter+Grafana+InfluxDB实时监控
- Qt编写OpenMP程序--双循环
- dcp1608w电脑通过_dcp-1608打印机驱动程序
- 机器学习 (六): Sigmoid 公式推导和理解
- 超纯水工业水处理工程方案解析
- 【运筹优化】SOA海鸥优化算法求解无约束多元函数最值(Java代码实现)
- jquery禁止复制、禁用右键、文本选择功能、复制按键
- js闭包的理解及应用场景
- vyos-vyatta在ospf和bgp之间路由重发布使用 打tag形式进行路由过滤
- 比 Redis 还快,更省内存,惊爆了!