2011-04-12 145 views
2

我需要一个Javascript数据库存储系统,其状态可以保存在本地磁盘上。使用Javascript读取/写入文件 - IE6

这里谈到的扳手在作品: -

  • 它只需要支持Internet Explorer,但最低版本必须是IE6
  • 文件需要后来写入,使他们能够读取试(在关闭和重新打开浏览器时)
  • 因为HTML页面将分布在USB上,所以不能有Web服务器(除非它非常容易分发并且不需要安装)。

有谁知道任何解决方案,可能有帮助吗?

+2

你有没有看过TiddlyWiki? – Pointy 2011-04-12 16:14:47

+0

http://ie6countdown.com/ – epascarello 2011-04-12 17:07:53

+0

谢谢Pointy,看起来很有趣。Epascarello,可悲的是它需要依靠IE6向前迈进的软件的巨大商业实体的财富,MS正在压力堆积虽然是好消息:) – 2011-04-12 19:24:54

回答

2

玩得开心userData。显然,它在你的IE6/7需要

然后localStorage为IE8/9

什么,或者你可以用它做特征检测你较重store.js,显然工作在IE6 +。

它应该工作在IE9,但没有garantuees。我会推荐store.js,因为它更容易维护,并且可以直接使用。你也可以用这种方式支持其他浏览器。

+0

+1完美答案 – daniellmb 2011-04-12 16:24:19

+0

请注意我对“需要写入的文件,以便以后可以再次阅读(关闭和重新打开浏览器时)”的规定。 userData/localStorage是否持续开启和关闭beowser?我的印象不是,但也许我错了。 – 2011-04-12 19:03:47

+0

@JulianYoung本地存储是持久的。 SessionStorage不是。 userData是好运;) – Raynos 2011-04-12 19:34:45

1

我不知道它是否支持IE6,但JScript似乎通过FileSystemObject有一定程度的支持。

var fso = new ActiveXObject("Scripting.FileSystemObject"); 
var a = fso.CreateTextFile("c:\\testfile.txt", true); 
a.WriteLine("This is a test."); 
a.Close(); 

根据Write binary data with FileSystemObject write()ADODB.Stream似乎是一种替代方法。

+0

FileSystemObject将从IE6工作,但它需要提升权限通常不授予到USB驱动器上的HTML内容。我尝试了这种方法,结果证明是一个支持问题,因为我的用户都无法让它“只是工作”......他们都必须使用他们的系统安全设置。 – 2011-04-12 16:17:33

+0

@Mark Ever:为避免这些问题,请使用.HTA(文件/应用程序)而不是.HTML。 – 2011-04-12 16:26:01

+0

是的 - 我很抱歉 - 将编辑。 – 2011-04-12 16:30:36

1

尝试阅读这篇文章:Read/write to file using jQuery

希望这有助于。

+0

感谢您的链接,虽然它不是很有帮助,但我有相当紧张的要求,它确实有一个有趣的链接http://jquery.tiddlywiki.org/twFile.html哪我会看着。 – 2011-04-12 19:18:34

1

严格的本地IE工作使用HTA Applications。然后,您可以访问本地资源(文本文件,ADO数据库),而不存在安全问题。

+0

良好的通话,我会进一步调查。谢谢。 – 2011-04-12 19:15:19

1

我建议您不要尝试使用JavaScript进行读取/写入,而是要在USB驱动器上嵌入一个小型Web服务器。我曾为一个应用程序做过一次,并且运行良好。我使用了Cassini网络服务器。

我在Visual Studio中创建了两个项目。首先,我创建了一个ASP.Net网站从SQLite数据库读取/写入。该网站显示了我的所有内容,并且与其他ASP.Net网站一样构建。其次,我创建了一个托管Cassini Web服务器的Windows Forms应用程序,并向用户呈现包含单个Web浏览器控件的表单。这使得用户体验非常简单...他们只需从USB驱动器的根目录中单击MYAPP.EXE,然后打开表单,启动Web服务器并将浏览器控件导航到网站的开始页面。

+0

非常有趣,将进一步研究这一点,谢谢马克。 – 2011-04-12 19:13:15