Javascript 如何在hta中保存变量,以便在关闭和打开hta后将其保存?

Javascript 如何在hta中保存变量,以便在关闭和打开hta后将其保存?,javascript,html,variables,hta,Javascript,Html,Variables,Hta,我正在尝试制作一个hta(html应用程序),您可以在其中向数组中添加名称,然后确定数组中是否有某个名称。当我关闭并重新打开hta(或刷新html)时,不会保存任何名称。如何使其在运行用于添加名称的函数时,代码与包含名称的变量一起保存 这是用于添加名称的函数 var names = [] function addName(first, last){ names.push(first + " " + last) } function realAddName(eventOb

我正在尝试制作一个hta(html应用程序),您可以在其中向数组中添加名称,然后确定数组中是否有某个名称。当我关闭并重新打开hta(或刷新html)时,不会保存任何名称。如何使其在运行用于添加名称的函数时,代码与包含名称的变量一起保存

这是用于添加名称的函数

    var names = []
    function addName(first, last){
    names.push(first + " " + last)
}

function realAddName(eventObject){
    var addFirstName = document.getElementById("addFirstName")//the input box for the first name
    var addLastName = document.getElementById("addLastName")//the input box for the last name
    addName(addFirstName.value, addLastName.value)
    alert("The name you input is now added to the thing.")
} 
我没有jQuery,所以不要给我使用jQuery的答案


请帮帮我。

这就是javascript的工作原理。关闭浏览器时,不会保存添加到数组中的任何值。这是数据库的角色。jQuery也无法做到这一点。

您需要将应用程序的状态持久化到磁盘。因为这是一个HTA,这意味着您可以使用
脚本.FileSystemObject
与本地文件系统交互

var fs = new ActiveXObject("Scripting.FileSystemObject");
var textFile = fs.CreateTextFile("foo.txt");
textFile.WriteLine(someVariable);
textFile.Close(); 
  • fs
    是一个允许您访问本地文件系统的对象:
    FileSystemObject
  • FileSystemObject
    有一个名为
    CreateTextFile
    的方法,该方法在磁盘上创建一个新的文本文件,并为您提供一个对象(
    textfile
    ),您可以使用该对象将文本写入该文件
  • WriteLine
    将一些文本写入文件
    .Close()
    使文本文件安全地“保存”

    • 本地存储可能会对您有所帮助。例如:

      function addName(first, last) {
          localStorage.setItem("usr123", first + " " + last)
      }
      
      您可以添加、更改或删除本地存储中的数据。但这是有限的。您可以在此处找到有关本地存储的更多信息:

      user2216996

      如果你真的需要询问,那么你不需要一个数据库来记录你正在做的事情。尝试“嘿,脚本编写人!”解决方案


      如果你真的想了解数据库,那么我建议你去开始阅读。

      什么是数据库,我如何使用它?什么是数据库,你如何创建/使用数据库?你能用一种更简单的方式解释一下它的作用吗?能用数组代替文本文件吗?另外,如何搜索以查看数组中的内容?