我想用HTML5(Canvas)創建一個非常簡單的Javascript遊戲。但是可以保存一個簡單的.txt文件並加載一個簡單的.txt文件。我只需要存儲一些簡單的整數。但我只想知道是否允許JavaScript保存並加載外部文件?你可以通過Javascript保存/加載文件嗎?
帆布
我想用HTML5(Canvas)創建一個非常簡單的Javascript遊戲。但是可以保存一個簡單的.txt文件並加載一個簡單的.txt文件。我只需要存儲一些簡單的整數。但我只想知道是否允許JavaScript保存並加載外部文件?你可以通過Javascript保存/加載文件嗎?
帆布
在Chrome上,您可以依賴FileSystem API(對於介紹take a look here)。其他瀏覽器可能很快會添加對它的支持。
但是,如果您的需要只是「存儲像一些簡單的整數」,我會考慮local storage。
我將使用FileSystem API我認爲 – Canvas
你不能用JavaScript直接訪問本地文件系統,但是當你讓用戶交互(例如,通過讓用戶選擇要上傳的文件)是可能的。請參閱http://www.html5rocks.com/en/tutorials/file/dndfiles/
另一種可能性是本地存儲。見http://davidwalsh.name/html5-storage,http://www.w3.org/TR/webstorage/
是的,我想我會使用HTML5文件系統:) – Canvas
總之,沒有。據大衛·弗拉納根的「JavaScript權威指南」:
輸入和輸出(以及更先進的功能,如 網絡,存儲和圖形)是「主機 環境」的責任在其中嵌入JavaScript。
更大的問題是爲什麼。想一想,如果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);
}
本地存儲API仍然存在?這是另一個更新的化身嗎? – 2016-11-16 10:22:18
你絕對不能寫入到本地磁盤,但大多數瀏覽器都具有某種[本地存儲]的(http://dev.w3.org/html5/webstorage /)。 –
如果安全無關緊要,您可以嘗試'document.cookie',這非常容易使用 – sgroves
查看此鏈接; http://stackoverflow.com/questions/2897619/using-html5-javascript-to-generate-and-save-a-file – JNL