【发布时间】:2016-02-09 18:14:58
【问题描述】:
我正在开发一个 HTA 应用程序,为此我需要使用 JavaScript 在客户端存储一些数据。就像 HTML5 中的 localStorage 一样,如果可能的话,我只是在寻找相同的功能。如果我能找到任何东西,请告诉我。
【问题讨论】:
标签: javascript local-storage hta
我正在开发一个 HTA 应用程序,为此我需要使用 JavaScript 在客户端存储一些数据。就像 HTML5 中的 localStorage 一样,如果可能的话,我只是在寻找相同的功能。如果我能找到任何东西,请告诉我。
【问题讨论】:
标签: javascript local-storage hta
在 HTA 中,您可以随意使用任何您想要的 ActiveX。 FileSystemObject 是简单文件夹和文件操作的最佳解决方案,尽管它只能读取和写入文本文件。使用此 ActiveX 控件,您还可以创建和删除文件夹和文件,检索它们的属性等。
FSO 和 HTA 仍在 IE9 中工作。然而,所有的开发和支持都在 IE7 结束,所以所有的 HTML 和 JavaScript 功能(和错误)也都在那个级别。要利用 IE9 可用的功能,请在 <head> 中使用 <meta http-equiv="x-ua-compatible" content="ie=9">。这仅适用于单页,不能在frameset-pages 中使用。
文件系统对象:http://msdn.microsoft.com/en-us/library/6kxy1a51%28v=vs.84%29.aspx 超文本应用程序:http://msdn.microsoft.com/en-us/library/ms536471%28v=vs.85%29.aspx
FileSystemObject 中的基本函数
创建一个 ActiveX:
fso=new ActiveXObject('Scripting.FileSystemObject');
写一个文件:
var oStream=fso.OpenTextFile('SAVE_PATH',2,true);
oStream.WriteLine('YOUR_DATA'); // Usually looped for several lines
oStream.Close();
打开一个文件:
var iStream=fso.OpenTextFile('OPEN_PATH',1,false);
data=iStream.ReadLine(); // Usually looped for several lines
iStream.Close();
另见WScript.Shell:http://msdn.microsoft.com/en-us/library/98591fh7%28v=vs.84%29.aspx
【讨论】:
我不确定它是否仍然适用于较新的 IE 版本 (>6),但您可以尝试 FileSystemObject ActiveX 组件。
【讨论】:
在 hta 中,您可以将数据存储到 Microsoft Access *.mdb 中。 see this
或者您可以使用 Google Gears 获得 mysql 支持。
【讨论】: