2 qq 38200881 qq_38200881 于 2017.09.12 12:23 提问

非ie浏览器打开文件保存对话框方法

非ie浏览器打开文件保存对话框方法。document.execCommand("saveas")只能在ie下运行。无法再谷歌火狐等运行。

5个回答

qq_26433213
qq_26433213   2017.09.12 12:25
已采纳

除了IE,其他浏览器貌似都没有打开保存的窗口,用替代方案,直接填入路径:

 <!--Add by oscar999-->  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">  
<HTML>  
<HEAD>  
<TITLE> New Document </TITLE>  
<META NAME="Author" CONTENT="oscar999">  
<script>    
    function   smt(){    
        path   =   prompt("Please Input Path","");   
    }     
</script>  
</HEAD>  

<BODY>  
  <input   type="button"   value="Save"   onclick="smt()">     
</BODY>  
</HTML>  
qq_38200881
qq_38200881 回复花下泥: 恩恩,我已经查了好久了,都是这样的结果。但是项目经理说让我只能做成这样的或者把打开对话框中的弹出未有此文件屏蔽了,我很方。还是谢谢你啦。
2 个月之前 回复
qq_26433213
qq_26433213 回复毕竟我是萌萌哒啊_: 其他浏览器貌似都没有打开保存的窗口,就好比你使用谷歌的时候都没有另存为窗口,因为一般都会设置一个默认位置,浏览器直接就会下载到这个默认位置
2 个月之前 回复
qq_38200881
qq_38200881 这个想要的效果还是弹出对话框,就想ie一样的,不是这种单纯的只有一个输入框的样式
2 个月之前 回复
showbo
showbo   Ds   Rxr 2017.09.12 13:09

发送数据到服务器端,设置好Content-Disposition后输出就可以保存

或者使用data协议来导出,但是需要进行base编码
javascript base64编码解码类库

qq_38200881
qq_38200881 其实主要是为了想要对话框的效果,我查了好多都是无法弹出向ie下的那种对话框,但是需求是那样。就像上面说的代替方案我昨天有问过是不行的。还没有设计到数据保存这块,这部分不需要我做。
2 个月之前 回复
zy841958835
zy841958835   Ds   Rxr 2017.09.12 13:15
qq_26433213
qq_26433213   2017.09.12 14:38

图片说明

qq_38200881
qq_38200881 好的,谢谢你啦。
2 个月之前 回复
qq_26433213
qq_26433213 回复毕竟我是萌萌哒啊_: 我的意识是浏览器这么设置的话就不会弹出来了,一定要这么做我也没有办法,祝你好运吧
2 个月之前 回复
qq_38200881
qq_38200881 不是很明白这个怎么解决。可以说的详细一点么?谢谢啦。
2 个月之前 回复
qq_38200881
qq_38200881   2017.09.12 16:22

我想了想可以用其他的方式实现,不一定必须要input file这样,可以模拟实现ctrl+s。或者通过a标签的download实现效果。只不过路径问题可能需要考虑一下。

qq_38200881
qq_38200881 但是需要向上方图中所示设置每次询问路径
2 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片