网页调用文件另存为js
查看引用是否正常,页面添加html代码。
<a id="downLoad" onclick="oDownLoad('downLoad')">下载</a>
<input type="hidden" name="fgycompany.fileUrl" value="地址" />
<script>
function oDownLoad(obj) {
alert("dd");
var odownLoad = document.getElementById(obj);
var url = $(odownLoad).siblings("input[name='fgycompany.fileUrl']").val();
//取得浏览器的userAgent字符串
var userAgent = navigator.userAgent;
//浏览器类型
var chromeType = "";
var isOpera = userAgent.indexOf("Opera") > -1;
//判断是否Opera浏览器
if (isOpera) {
chromeType = "Opera"
};
//判断是否Firefox浏览器
if (userAgent.indexOf("Firefox") > -1) {
chromeType = "FF";
}
if (userAgent.indexOf("Chrome") > -1) {
chromeType = "Chrome";
}
//判断是否Safari浏览器
if (userAgent.indexOf("Safari") > -1) {
chromeType = "Safari";
}
//判断是否IE浏览器
if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
chromeType = "IE";
};
//判断是否Edge浏览器
if (userAgent.indexOf("Trident") > -1) {
chromeType = "Edge";
}
if (chromeType === "IE" || chromeType === "Edge") {
//IE、Edge
odownLoad.href = "#";
var oImg = document.createElement("img");
oImg.src = url;
oImg.id = "downImg";
var odown = document.getElementById("down");
odown.appendChild(oImg);
var oPop = window.open(document.getElementById('downImg').src, "", "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 {
//!IE、Edge
odownLoad.href = url;
odownLoad.download = "";
}
}
</script>
第二种方法
var save_link = document.createElementNS("http://www.w3.org/1999/xhtml", "a");
//地址
save_link.href = "/fonts/glyphicons-halflings-regular.svg";
save_link.download = name;
var ev = document.createEvent("MouseEvents");
ev.initMouseEvent(
"click", true, false, window, 0, 0, 0, 0, 0
, false, false, false, false, 0, null
);
save_link.dispatchEvent(ev);
网页调用文件另存为js的更多相关文章
- JS实现文件另存为
JS实现文件另存为 //下载平面图 function downPlan() { var oPop = window.open(src, "", "width=1, hei ...
- Js文件函数中调用另一个Js文件函数的方法
在项目中Js文件需要完成某一功能,但这一功能的大部分代码在另外一个Js文件已经完成,只需要调用这个文件实现功能.那么如何调用:一个Js文件函数中调用另一个Js文件函数的方法? (直接代码说明) 示例d ...
- java利用JDK调用并执行js源码
前言: 不同开发语言之间具有通用性,更具有协作调用的可能.有时候对于一些场景会有调用js的需求,因此下面展示了一个java利用自身JDK调用js函数的demo,供感兴趣的朋友参考. js函数文件 ex ...
- JS一般般的网页重构可以使用Node.js做些什么(转)
一.非计算机背景前端如何快速了解Node.js? 做前端的应该都听过Node.js,偏开发背景的童鞋应该都玩过. 对于一些没有计算机背景的,工作内容以静态页面呈现为主的前端,可能并未把玩过Node.j ...
- 微信公众号支付(三):页面调用微信支付JS并完成支付
一.调用微信的JS文件 1.首先要绑定[JS接口安全域名],“公众号设置”的“功能设置”中 2.引入JS文件 备注:支持使用 AMD/CMD 标准模块加载方法加载 <script type=&q ...
- NET Core 静态文件及JS包管理器(npm, Bower)的使用
NET Core 静态文件及JS包管理器(npm, Bower)的使用 文章目录 在 ASP.NET Core 中添加静态文件 使用npm管理JavaScript包 使用Bower管理JavaScri ...
- nodejs hello world (调用文件执行没反应)
今天学习了node.js ,来看一下hello world 的写法. 1. 首先安装node.js的驱动文件.http://nodejs.org/ 2. a:安装好node之后,在CMD窗口输入nod ...
- Ajax实现xml文件数据插入数据库(一)--- 构建解析xml文件的js库
Ajax实现将xml文件数据插入数据库的过程所涉及到的内容比较多,所以对于该过程的讲解本人打算根据交互的过程将其分为三个部分,第一部分为构建解析xml文件的javascript库,第二部分为ajax与 ...
- Ajax.BeginForm无法调用 ajaxOptions的js函数
使用ajax.beginForm无法调用ajaxOptions的js函数的原因,一般都是缺少以下2个JS文件: 1,Install-Package jQuery –version 1.10.22,In ...
随机推荐
- R3300L Android相关的记录
在寻找高版本Android固件的过程中遇到一个Android6.0的固件, 刷上去之后发现没有Root. 因为原发布者设置了收费的QQ群, 固件开机图上就是QQ群号, 满以为交了钱之后应该能有Root ...
- GEOS/GDAL 交叉编译ARM64-linux版本
目录 安装编译环境 编译PROJ.4 编译GEOS 编译GDAL 编译后程序运行注意事项 因为试用华为云ARM64服务器(CentOS 7 操作系统)的时候,在云服务器上编译GDAL很长时间也没有编译 ...
- 我的node-webkit笔记
话不多说,直接上码: index.html <!DOCTYPE html> <html> <head> <meta charset="utf-8&q ...
- supervisor配置进程
具体配置见此页面:https://www.jianshu.com/p/ac6c84a2f415 设置开机启动:https://blog.csdn.net/xyang81/article/details ...
- SpringBoot入门-多环境文件配置(二)
pom.xml <name>springboot-application</name> <description>A project for Spring Boot ...
- 重温RabbitMQ
RabbitMQ是用Erlang语言实现的,它有几个概念broker:消息队列服务器实体exchange:消息交换机,它指定消息按什么规则,路由到哪个队列queue:消息队列,每个消息都会被投入到一个 ...
- what's the psutil模块
what's the psutil模块 psutil 是一个跨平台库,能够轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等)信息.它主要用来做系统监控,性能分析,进程管理.它实现 ...
- 定制flask-admin的主页
flask也用了很久了,一般配合flask-admin设置后台. 但是flask-admin设置的都是自己加入的,对某些model进行管理. 下面介绍如何定制flask-admin的首页. 原来我们引 ...
- Doker容器部署Tomcat服务器
1.拉取tomcat服务镜像文件 root@ubuntu:~# docker pull registry.cn-hangzhou.aliyuncs.com/xxxx/xxxxx:web web: Pu ...
- 树莓派开启SSH的N种方法
问题:为什么我的树莓派无法使用远程连接电脑? 解答: 由于树莓派只有一个串口,当我们开发中需要占用这个串口或者我们希望进行远程开发(通过一个根网线或无线连接到树莓派).SSH连接,首先需要确认的是: ...