在IE8中使用“另存为”execCommand以ANSI格式而不是UCS2-Little Endian保存XML文件
Using "Save As" execCommand in IE8 to save XML file in ANSI format instead of UCS2-Little Endian
我目前正在尝试仅在Internet Explorer 8中使用Javascript中的"SaveAs"execCommand保存XML数据。我正在使用document.write(xml)在打开窗口后写入xml内容。IE8 中的文档对象使用 saveAs Exec 命令允许用户将 xml 文件保存在本地文件夹中。XML文件已生成,但它没有将编码设置为我需要发送此XML(即ANSI/UTF-8编码)的不同接口的首选类型。我只能将XML保存为UCS2小字节序编码格式。下面是我正在使用的代码。
var location = "D:''export_to_MCT"+dateTime+".xml";
var xml = tmpSelectedConfigurationXML.transformNode(xslDoc);// XML Is generated here
alert(xml);
**var testlink = window.open ("about:blank","_blank","toolbar=no,status=no,menubar=no,scrollbars=no,resizable=no,left=10000, top=10000, width=10, height=10, visible=none");
testlink.document.write(xml); //fileData has contents for the file
testlink.document.close();
testlink.document.execCommand('SaveAs', false, location);**
testlink.close();
我的目的是将 xml 保存为 ANSI/UTF-8 编码,而不采用 BOM 格式。我不能使用 ActiveX 对象的 Scripting.FileSystemObject 方法。请建议
从 XML 中删除不受支持的字符
由于 XML 文档中不接受所有 UTF-8 字符,因此您需要从生成的任何 XML 中删除任何此类字符。读取 xml 文件后,将 '/[^''x{0009}''x{000a}''x{000d}''x{0020}-''x{D7FF}''x{E000}-''x{FFFD}]+/u' 替换为 ''
或尝试使用testlink.document.charset="UTF-8";
相关文章:
- 无法在本地计算机中将画布另存为图像
- 如何将 html5 画布另存为窗口 8 Metro 应用程序中的图像文件
- 试图制作一个“;另存为“;使用php's”;file_put_contents”;和javascript&quo
- Safari浏览器上的“强制另存为”对话框
- 强制浏览器打开“;另存为“;对话框
- execCommand('另存为',true,'data.csv');不在IE工作
- 更改音频速度,然后另存为新文件
- 将响应另存为文件
- 覆盖 HTML 画布上的“另存为”行为
- 如何在浏览器中触发另存为对话框,以便可以在内存中保存 json 数据
- 更改“将图像另存为”的操作以重定向到相应的网页
- 如何为图像创建“另存为”按钮
- 将 JavaScript 对象另存为字符串
- 如何定义图像'另存为'大小
- 使用javascript将画布另存为图像
- 嵌套画布另存为单个图像
- 如何在Chrome中禁用“另存为”对话框
- 将画布对象另存为图像-黑色背景
- 使用JavaScript,我可以上传一个word文件并使用.replaces然后另存为新文档吗
- 在IE8中使用“另存为”execCommand以ANSI格式而不是UCS2-Little Endian保存XML文件