繁体   English   中英

你能通过Javascript保存/加载文件吗?

[英]Can you save/load a file via Javascript?

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

帆布

在Chrome上,您可以依赖FileSystem API(有关介绍,请参阅此处 )。 可能其他浏览器很快就会增加对它的支持。

但是,如果你的需要只是“存储像一些简单的整数”,我会考虑本地存储

从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);
}

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

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

简而言之,没有。 根据David Flanagan的“JavaScript:The Definitive Guide”:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM