你必须有来自用户的输入
未经用户确认,无法访问客户端计算机上的文件。一旦用户选择了一个文件(您可以通过事件收听它change
),您就可以使用FileReader API来读取文件。
document.getElementById("input").addEventListener("change", function() {
const fs = new FileReader();
fs.readAsText(this.files[0]);
fs.onloadend = function() {
document.getElementById("output").innerText = fs.result;
}
});
<input id="input" type="file" />
<div id="output"></div>
用于localStorage
存储一小部分文件
您可以使用localStorage API
来存储一些文件,但容量非常有限,尤其是对于像您这样的项目(在当前最流行的浏览器上最大为 5 到 10 MB)。
这将使您的编码变得更加困难,因为您每次都必须检查是否存储了哪些内容,并加载未保存的内容。
缓存
通过使用缓存,您基本上会遇到与使用相同的问题localStorage
:每个浏览器都有自己的最大容量。
这种方法的优点是您不必担心已加载或未加载的内容,因为浏览器会自行执行此操作。
使用闪存
现在,如果您真的完全不关心安全性,您可以使用 Flash 插件来存储和加载文件,然后ExternalInterface
在 JavaScript 代码中使用它来加载数据。
ExternalInterface.call("loaded", filename, data);
// And then in JavaScript:
// function loaded(filename, data)
// ...
您可以使用它SharedObject
来保存和加载您的数据。
我不是 AS3 专家,请原谅任何笨拙。
桌面应用程序?
最后一个选项是将您的游戏转换并捆绑到桌面应用程序中,例如通过电子捆绑它,然后使用例如NeDB,这是目前电子建议的持久存储工具。