替代IE浏览器以外的其他浏览器的ActiveX对象?

任何人都可以帮助我,因为我被困在创建一个扩展名(临时)在本地磁盘中的文件(临时),我尝试使用ActiveX对象,但它只在Internet Explorer中工作正常,当我尝试与其他浏览器时出错。 通过谷歌搜索我知道ActiveX仅在IE中工作,所以当它在不同的浏览器中尝试时会产生错误。

var fso, f1; fso = new ActiveXObject("Scripting.FileSystemObject"); f1 = fso.GetFile("c:\\test.txt"); alert(f1); 

任何人都可以建议我使用替代品,这可能是非常有用的。

其他post涵盖了使用Html 5存储到本地计算机的所有信息,所以我不会详细介绍它,但这只适用于兼容Html 5的浏览器(尽管大多数浏览器现在兼容Html 5,我不知道你的项目要求)。

另一种方法是使用服务器端代码(ASP.NET,PHP等)创建/保存文件,然后提供用户链接,以便他们可以下载文件。 您仍然可以将其另存为.csv文件,以便用户在下载后可以在Excel中打开它。

编辑:

我要做的是更改您的Web服务,以便将文件保存到光盘(更多信息: 此处 )。 然后,不是从Web服务返回文件,而是返回Url以进行下载。 然后,您可以使用JS将用户重定向到该链接。

您遇到的问题是ECMAScript(JavaScript)的浏览器实现不允许您写入客户端的磁盘 。 微软反向设计JavaScript,并将其命名为JScript 。 虽然基础是相同的,但MS添加了那些ActiveX对象和编译器(JScript可以编译,是的)。

简而言之,JScript不仅可以用于浏览器任务,因此MS提供了ActiveX对象来启用某种forms的I / O. 除了IE之外,你唯一能做的就是使用HTML5的新DOM存储对象。 Teemu为此提供了文档的链接

目前没有标准的方法从本地硬盘驱动器读取和写入文件,您可能需要查看此链接:

http://html5please.com/#file