输出XMLSerializer().serializeToString到用户可保存文本窗口的字符串
Outputting XMLSerializer().serializeToString String to User Savable Text Window
我目前使用以下代码来显示来自部分DOM的XML代码。
var sXML = new XMLSerializer().serializeToString(document.getElementsByTagName("TopElementOfBlockOfInterest")[0]);
var win;
var doc;
win = window.open("", "", "",false);
doc = win.document;
doc.open("text/plain");
doc.write(sXML);
doc.close();
我看到的是XML代码。但是,当我在Firefox 20.0上选择"另存为"时,保存的是一个html文件。是否有一种方法可以在用户保存XML代码到文件的形式中显示XML字符串?现在的方式是,用户可以复制和粘贴,但我更喜欢更传统的保存操作。
将其转换为数据uri,然后打开
var uri = new XMLSerializer().serializeToString( // serialise
document.getElementsByTagName("TopElementOfBlockOfInterest")[0]
),
win;
uri = 'data:text/plain,' + window.encodeURIComponent(uri); // to data URI
win = window.open(uri, '_blank'); // open new window
savea 现在默认为.txt
。当您实际显示XML内容时,您可能还希望使用MIME text/xml
或application/xml
,但是在浏览器中查看时,这可能会呈现而不是显示为纯文本。
相关文章:
- Ajax文本区域保存错误
- 如何将jQuery克隆的文本输入保存到cookie或html5存储中
- jQuery-如何使var文本可点击,该文本放置在由更多元素组成的另一个var中(var,checkbox)
- 如何将从 JavaScript 返回的文本值保存到 Java 中的字符串变量
- 如何将文本输入保存为变量,然后提交到服务器(ajax 和 javascript)
- Javascript;使用画布在图像上添加文本并保存到图像
- 使网页上的文本可拖动
- Fabric.Js - 使已添加到画布的文本可编辑
- 对象文本可重用函数
- 在 jsTree 中,使节点文本可单击的最佳方法是什么(用于选中复选框)
- Javascript将文本区域保存为UTF-8格式的文件
- 本地存储可保存相同项目的倍数
- 通过 API PUT 将文本区域保存到数据库,删除换行符
- HTML使文本可点击,而不使其成为超链接
- 拖动文本可防止鼠标向上触发chrome
- 在PHP中创建可保存的表单
- 输出XMLSerializer().serializeToString到用户可保存文本窗口的字符串
- 通用解决方案,可保存超过5mb的离线数据,支持所有浏览器和PhoneGap应用程序
- 用javascript将文本框保存为cookie并打印结果
- 使单选按钮文本可点击而不添加任何HTML