我想使用 HTML5 (Canvas) 创建一个非常简单的 Javascript 游戏。但是是否可以保存一个简单的 .txt 文件并加载一个简单的 .txt 文件。我只需要像一些简单的整数一样存储。但我只想知道是否允许javascript保存和加载外部文件?
帆布
我想使用 HTML5 (Canvas) 创建一个非常简单的 Javascript 游戏。但是是否可以保存一个简单的 .txt 文件并加载一个简单的 .txt 文件。我只需要像一些简单的整数一样存储。但我只想知道是否允许javascript保存和加载外部文件?
帆布
从 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);
}
在 Chrome 上,您可以依赖 FileSystem API(请看这里的介绍)。可能其他浏览器很快就会添加对它的支持。
但是,如果您的需要只是“像一些简单的整数一样存储”,我会考虑local storage。
简而言之,没有。根据 David Flanagan 的“JavaScript:权威指南”:
输入和输出(以及更复杂的功能,例如网络、存储和图形)是嵌入 JavaScript 的“宿主环境”的责任。
更大的问题是为什么。想想如果 JavaScript 可以将文件写入您的硬盘驱动器会有多危险。如果您访问的任何网站都可以访问您的本地文件系统怎么办?
您不能直接使用 javascript 访问本地文件系统,但是当您让用户交互时(例如通过让用户选择要上传的文件),这是可能的。见http://www.html5rocks.com/en/tutorials/file/dndfiles/
另一种可能性是本地存储。见http://davidwalsh.name/html5-storage , http://www.w3.org/TR/webstorage/