首页 新闻 会员 周边 捐助

JS保存XML,环境是Chrome

1
悬赏园豆:10 [已关闭问题] 关闭于 2013-12-19 13:42

由于Chrome没有AcitiveXObject,因此只能用XMLHttpRequest()

但是它没有save方法,因此不知道怎么使用它来将生成的XML文件保存到本地。

请有经验的朋友指导一下,非常感谢!

飞鸟_Asuka的主页 飞鸟_Asuka | 菜鸟二级 | 园豆:393
提问于:2013-12-17 17:06
< >
分享
所有回答(2)
0

这个有权限不?js不是不让操作本地文件的嘛

angelshelter | 园豆:9914 (大侠五级) | 2013-12-17 17:24

但是在IE环境下ActiveXObject有save方法可以保存xml文件的。

支持(0) 反对(0) 飞鸟_Asuka | 园豆:393 (菜鸟二级) | 2013-12-17 17:27

@飞鸟_Asuka: ActiveXObject本来就是不安全的,就ie这么做。别的浏览器一般没这个权限吧,除非用插件。

支持(0) 反对(0) angelshelter | 园豆:9914 (大侠五级) | 2013-12-17 17:33

@飞鸟_Asuka: IE不是浏览器,它是系统插件,它的表现和Chrome之类的浏览器是不同的。Javascript没有操作本地文件系统的权限的,你可以考虑将xmlDocument通过Ajax上传到服务器上,然后生成xml文件,并在客户端提供下载地址。

支持(0) 反对(0) 飞扬的尘埃 | 园豆:1318 (小虾三级) | 2013-12-17 17:50
0

通过 XMLSerializer 把 xml 对象转字符串,再通过 Blob 对象下载。
var s = (new XMLSerializer()).serializeToString(xmlDoc);
var blob = new Blob([s], { 'type': 'application/xml' });
var url = URL.createObjectURL(blob);
var link = document.createElement('a');
link.download = 'm' + fp;
link.href = url;
link.click();

海天鹰 | 园豆:202 (菜鸟二级) | 2020-07-23 10:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册