我想通过DOM创建xml文件,这就是我写的。 我在 IE 中运行它,它显示了“权限被拒绝”错误,并且该行中的 ActiveXObject 未在 Firefox 中定义:
fso = new ActiveXObject("Scripting.FileSystemObject");
我该如何解决这个问题?
var xhttp;
try {
xhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (f) {
xhttp = null;
}
}
if (!xhttp && typeof XMLHttpRequest != "undefined") {
xhttp = new XMLHttpRequest();
}
xhttp.open("GET", "nn.xml", false);
xhttp.send();
xmlDoc = xhttp.responseXML;
newel = xmlDoc.createElement("student");
newtext = xmlDoc.createElement("stName");
newel.appendChild(newtext);
newtext2 = xmlDoc.createElement("examName");
newel.appendChild(newtext2);
newtext3 = xmlDoc.createElement("grade");
newel.appendChild(newtext3);
x = xmlDoc.documentElement;
x.appendChild(newel);
fso = new ActiveXObject("Scripting.FileSystemObject");
ts = fso.OpenTextFile("D:\\test\\test\\nn.xml", 2, true, -1); //2=Open a file for writing.
ts.Write(xmlDoc.xml);
ts.Close();
最佳答案
ActiveX 仅适用于 Microsoft 浏览器,如果您想要跨浏览器兼容性,则不应使用它。
至于写入文件,这是不允许的,有充分的理由。考虑一下如果允许的话,在随机浏览互联网站点时您的硬盘驱动器将被删除多少次。
关于IE 中的 Javascript 权限被拒绝错误,创建 xml 文件时在 firefox 中未定义 ActiveXObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5292311/