0

您好,我的 html/javascript 代码有问题:

function rf()
{

    var fs,file;

    fs = new ActiveXObject('Scripting.FileSystemObject');

    file = fs.OpenTextFile('/test123.txt',2);

    file.Write('The text to write to file');

    file.Close();

}

</script>
<button onclick="rf()">Try it</button>
</html>

我去页面,点击按钮,没有成功。有人可以为我纠正这个吗?

4

1 回答 1

1

甚至 Internet Explorer 默认情况下也不允许这种结构,在任何版本中 - 您都需要手动切换一些非常危险的设置来允许它。浏览器中 Javascript 的全部目的是它在浏览器进程中被沙箱化,并且根本无法访问,甚至更糟糕的是写入周围的计算机及其文件系统。如果此代码有效,那么什么会阻止某人对您System32文件夹中的文件执行相同的操作?或者hiberfil.sys?或者autoexec.bat?不用说,你试图实现的目标不能也不应该在任何计算机上、任何浏览器上工作。

有关该主题的 Microsoft 文档

因为在客户端使用 FSO 可能会提供对客户端本地文件系统的潜在不受欢迎的访问,所以您应该只在服务器端执行的脚本中使用它。Internet Explorer 默认安全设置不允许客户端使用 FileSystemObject 对象。覆盖这些默认设置可能会使本地计算机不受欢迎地访问文件系统,这可能会导致文件系统完整性的完全破坏,导致数据丢失或更糟。

于 2013-05-05T20:08:02.690 回答