4

我想使用 HTML5 (Canvas) 创建一个非常简单的 Javascript 游戏。但是是否可以保存一个简单的 .txt 文件并加载一个简单的 .txt 文件。我只需要像一些简单的整数一样存储。但我只想知道是否允许javascript保存和加载外部文件?

帆布

4

4 回答 4

4

从 html5 开始,您可以使用 LocalStorage API。现在几乎所有的浏览器都支持它:

// Check if it is supported in your browser
function supports_html5_storage()
{
      try
      {
        return 'localStorage' in window && window['localStorage'] !== null;
      }
      catch (e)
      {
        return false;
      }
}

//make use of it:
if( supports_html5_storage() == true )
{
   localStorage.setItem("myItem", "myData");
   var myDataString = localStorage.getItem("myItem");
   alert(myDataString);
}
于 2014-06-25T14:24:59.047 回答
3

在 Chrome 上,您可以依赖 FileSystem API(请看这里的介绍)。可能其他浏览器很快就会添加对它的支持。

但是,如果您的需要只是“像一些简单的整数一样存储”,我会考虑local storage

于 2013-07-30T20:16:19.940 回答
2

简而言之,没有。根据 David Flanagan 的“JavaScript:权威指南”:

输入和输出(以及更复杂的功能,例如网络、存储和图形)是嵌入 JavaScript 的“宿主环境”的责任。

更大的问题是为什么。想想如果 JavaScript 可以将文件写入您的硬盘驱动器会有多危险。如果您访问的任何网站都可以访问您的本地文件系统怎么办?

于 2013-07-30T20:15:33.633 回答
1

您不能直接使用 javascript 访问本地文件系统,但是当您让用户交互时(例如通过让用户选择要上传的文件),这是可能的。见http://www.html5rocks.com/en/tutorials/file/dndfiles/

另一种可能性是本地存储。见http://davidwalsh.name/html5-storage , http://www.w3.org/TR/webstorage/

于 2013-07-30T20:12:11.873 回答