js window.open(url)为啥会自动下载文件,而不是打开文件?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js window.open(url)为啥会自动下载文件,而不是打开文件?相关的知识,希望对你有一定的参考价值。
导出功能,导出后调用window.open打开导出的excel文件,刚开始打开报错,404和乱码,修改好了后window.open就变了,成了自动下载文件,不是打开页面了,请问哪些情况会导致发送这种事??
wendow.open如果里面放入的是文件,肯定是会下载文件的。解决方法如下:
1、首先新建一个html页面,命名为test.html。
2、然后window.pen()方法的参数可以为任意的网址,默认情况下,是在新的浏览器窗口打开链接地址。下面代码实现了点击按钮,在新窗口打开百度网站的首页。
3、window.pen()方法第一个参数是网址,第二个参数是打开方式设置,主要有以下几种:_blank :在新窗口打开链接。_parent :在父框架窗口打开链接。_self :在当前的窗口打开链接。_top : 在框架窗口的最上一个窗口打开链接。
4、window.open()方法第三个参数主要用于设置窗口的属性,以固定的宽度和高度窗口打开链接。
5、最后windw.open()方法不仅可以在js函数内使用,还可以直接在html标签上由事件调用,下面代码在button标签内使用onclick点击事件调用window.open()方法。
参考技术A wendow.open如果里面放入的是文件,你肯定是会下载文件的。如果你想打开文件,另想办法吧。追问以前都能打开,被我在web.xml中添加了点东西后才变成这样的,但是我后来xml内容复原了还是下载
本回答被提问者采纳js操作BOM
//window.open(url, target);
//window.close();
//在当前窗口打开,可后退
//原理:自动使用当前窗口的name
HTML:<a href="url" target="_self"></a>
js:open(url, '_self');
//在当前窗口打开,禁止后退
//原理:用新url替换当前history中的url
js:location.replace(新url);
//在新窗口打开,可打开多个
//原理:不指定窗口名,每打开一个窗口,浏览器会自动随机生成内部窗口名
HTML:<a href="url" target="_blank"></a>
js:open(url, '_blank');
//在新窗口打开,只能打开一个
//原理:自定义窗口名,这个名字在内存中只能出现一次,一个名字对应一个窗口,后来打开的会覆盖先打开的窗口
HTML:<a href="url" target="自定义窗口名"></a>
js:open(url, '自定义窗口名');
//history三种操作:前进、后退、刷新
//前进:history.go(1);
//后退:history.go(-1);history.go(-2);
//刷新:history.go(0);
//location属性
//.href:获取或设置完整的url地址
//.protocol:协议
//.host:主机名+端口号
//.hostname:主机名
//.port:端口号
//.pathname:相对路径
//.search:查询字符串参数
//.hash:锚点地址
//location方法
//在当前窗口打开,可后退
//location = url;
//在当前窗口打开,禁止后退
//location.replace(新url);
//刷新
//优先从缓存中获取资源,若缓存中没有或过期,才从服务器获取资源
//F5
//history.go(0);
//location.reload();
//无论缓存中有没有资源,都强制从服务器获取资源
//location.reload(true);
以上是关于js window.open(url)为啥会自动下载文件,而不是打开文件?的主要内容,如果未能解决你的问题,请参考以下文章
为啥window.location.href无效,页面不跳转