IE浏览器和非IE浏览器使用js导出xml/json文件到客户端制定路径问题

在IE浏览器中,可以通过创建ActiveXObject对象的FileSystemObject来实现文件的导出,ActiveXObject为IE浏览器特有的控件;非IE浏览器不能直接通过js来导出文件到指定路径,否则需要通过服务器或者其他来实现。我这里只讨论前端js这块。实现IE浏览器导出文件到指定路径,通过XMLHttpRequest来解析文件(可适应大多数浏览器),实现用js创建xml格式的数据,详细的XMLHttpRequest知识大家可以查询相关资料。

代码如下:

/* 保存数据到xml/json文件 */
function saveXML(content) {
    try {
        if (is_Ie) {
            fso = new ActiveXObject("scripting.FileSystemObject");
            path = "E:\\HBuilder\\configSecurity\\data\\";

            if (!fso.FolderExists(path)) { // 若当前路径不存在,则创建此路径。
                fso.CreateFolder(path);
            }
            path += "test.json"; // 创建文档的路径。
            tf = fso.CreateTextFile(path, true); // 创建新文件。
            
            var result = formatXml(content); //格式化xml数据
            tf.WriteLine(result);
            tf.Close();
        } else {
        
            //Firefox 也有标准方法,但可能造成其他浏览器报错,故省略
            //使用 XMLHttpRequest 替代,适用于大部分浏览器(以下代码只能实现加载xml/json数据)
            
            /* var xmlHttp=new XMLHttpRequest();
            xmlHttp.open("GET","data.json",false);
            xmlHttp.send(null) ; 
            return xmlHttp.responseXML;*/

        }
    } catch (e) {
        alert(e.message);
    }
}

实现用js创建xml格式的数据:

//实现js创建xml格式的数据
            xmldoc = document.implementation.createDocument("", "messageConf", null);
            var child = xmldoc.createElement("child");
            xmldoc.documentElement.appendChild(child);
            console.log(xmldoc); 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值