在IE下可以用document.execCommand("saveas",false,"t.txt")实现,但火狐似乎不行,网上搜了一圈未找到可替代的代码,有人说火狐不支持execCommand,有人说支持但是不支持saveAs命令,故在此求助各位达人,功德无量。
1条回答 默认 最新
你知我知皆知 2024-08-01 20:14关注以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
这个问题是存在争议的,所以可能没有标准答案。不过我找到了一些解决方案:
-
使用
window.open()打开一个新的浏览器窗口,并将文件保存到该窗口中。然后,在新窗口中使用window.close()关闭新窗口。 -
通过JavaScript的
prompt()函数让用户选择是否要保存文件。如果用户选择“是”,则可以调用window.open()打开新的浏览器窗口,并将文件保存到该窗口中。否则,可以尝试其他方法来解决此问题。 -
可以考虑使用第三方库,例如
FileSaver.js,它提供了一个简单的方法来处理文件下载和上传。你可以查看其文档来了解更多信息。 -
如果你有一个包含文件内容的字符串,可以尝试使用
download()方法来直接下载文件。 -
另一种方法是使用
Blob对象,它可以存储任意大小的数据,包括二进制数据。然后,你可以使用createObjectURL()或toDataURL()方法将其转换为一个URL,从而可以使用download()方法下载文件。 -
如果你的文件是一个特定类型的资源(例如HTML、CSS或JS文件),你可以使用
saveAs()方法来直接下载这个资源。
以上都是我的建议,希望对你有所帮助!
解决 无用评论 打赏 举报-