2013-07-30 2 views
3

Я хочу создать очень простую игру Javascript, используя HTML5 (Canvas). Но возможно ли сохранить простой .txt-файл и загрузить простой .txt-файл. Мне просто нужно хранить, как некоторые простые целые числа. Но я просто хочу знать, разрешено ли javascript сохранять и загружать внешний файл?Можете ли вы сохранить/загрузить файл через Javascript?

Холст

+1

Вы, безусловно, не можете писать на локальный диск, но большинство браузеров есть какое-то [локальное хранилище] (http://dev.w3.org/html5/webstorage /). –

+0

, если безопасность вообще не имеет значения, вы можете попробовать 'document.cookie', который действительно прост в использовании. – sgroves

+0

Проверьте эту ссылку; http://stackoverflow.com/questions/2897619/using-html5-javascript-to-generate-and-save-a-file – JNL

ответ

3

В Chrome вы можете положиться на API FileSystem (для ввода take a look here). Вероятно, другие браузеры вскоре добавят поддержку.

Но, если ваша потребность просто «хранить как простые простые числа», я бы рассмотрел local storage.

+0

Я буду использовать API файловой системы, я думаю, – Canvas

1

Вы не можете получить доступ к локальной файловой системе, непосредственно с JavaScript, но это возможно, когда вы позволяете пользователю взаимодействовать (например, позволяя пользователю выбрать файл для загрузки). См. http://www.html5rocks.com/en/tutorials/file/dndfiles/

Другой возможностью является локальное хранилище. См. http://davidwalsh.name/html5-storage, http://www.w3.org/TR/webstorage/

+0

Да, я думаю, что я буду использовать файловую систему HTML5 :) – Canvas

0

Короче говоря, нет. Согласно «JavaScript: The Definitive Guide»: Дэвид Фланагана

Вход и выход (а также более сложные функции, такие как сети, хранения и графики) являются ответственностью «хозяина окружающей среды», в течение которого JavaScript встроен.

Вопрос в том, почему. Подумайте, насколько это было бы опасно, если бы JavaScript мог записывать файлы на ваш жесткий диск. Что делать, если какой-либо веб-сайт, который вы посетили, может получить доступ к вашей локальной файловой системе?

+0

Веб-сайты уже пишут вашей файловой системы (файлы cookie и т. д.). Итак, почему javascript не должен этого делать? Если доступ ограниченным образом, я не вижу проблемы безопасности. И cc уже есть API для этого. Его название «Local Storage» – Alex

+1

@Alex, местное хранилище является опцией и было упомянуто всеми с первого комментария. Но я хотел объяснить, почему JavaScript не может писать на локальный диск, и я цитировал довольно уважаемый источник по этому вопросу. Я знал, что это не будет принятым ответом, но я подумал, что это пролить свет на этот вопрос. – gwg

2

С помощью 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); 
} 
+0

все еще существует локальное хранилище api? это новое, новое воплощение? –

Смежные вопросы