Напишите локальный файл с помощью jQuery или Javascript

Я создаю прототип, который будет запускаться в веб-браузере. Я хотел бы хранить (и извлекать) различную информацию, предоставленную пользователем во время использования прототипа. Я знаю, что могу получить различные форматы файлов, такие как xml, json... и я знаю, что могу сделать локальное хранилище с помощью плагина jstore. Итак, я полагаю, что могу сделать запутанное решение, в котором я получаю первую загрузку xml из начального файла, а затем использую локальное хранилище после того, как им манипулируют, и просто проверяю локальное хранилище.

Я не хочу использовать PHP, ASP или другие сценарии, поскольку мне нужно иметь возможность поделиться прототипом со старшими руководителями, у которых не будет запущенных веб-серверов, и я не хочу устанавливать прототип на веб-сервер... но, возможно, это лучший способ сделать это, как я знаю, javascript не может писать в локальную файловую систему по соображениям безопасности. С другой стороны, возможно, я делаю комбинацию получения исходного xml и использования плагина jstore более сложной, чем она есть на самом деле.


person Community    schedule 19.01.2010    source источник
comment
Любая попытка сохранить данные на клиентской машине из Интернета будет затруднена. Скорее всего, вы добьетесь гораздо большего успеха, если сохраните состояние в строке запроса (при условии, что хранить нечего) или разрешить пользователям экспортировать/импортировать фактические файлы.   -  person Michael Haren    schedule 19.01.2010


Ответы (4)


Веб-платформа специально разработана для предотвращения записи произвольных данных сайтами на клиентские машины. Есть несколько исключений из этого, которые вы можете изучить:

  • Плагин, такой как Google Gears; или хранилище данных в HTML5 (не широко распространено) (легко теряется)
  • Куки (легко теряются)
  • URL (ограничен по длине, легко теряется)
  • Файлы (более обычный, хотя и корявый)

Сеть явно лучше работает с сервера. Если вы надеетесь развернуть настольные установки, вы можете развернуть толстое приложение, которое использует много пользовательского интерфейса на основе браузера. Это приложение может легко получить доступ к локальной системе для файлов и т. д. Если возможно, прокомментируйте.

person Michael Haren    schedule 19.01.2010
comment
Я думаю, что можно сохранить в локальный файл, используя объект HTML5 FileWriter. - person Anderson Green; 03.08.2012

Если ограничения использования Internet Explorer и все эти проблемы доверия (разрешение на запись в файловую систему пользователей с использованием javascript, вероятно, когда-либо будет возможно только в интрасети), вы можете использовать Scripting.fileSystemObject согласно эта страница msdn.

person davidsleeps    schedule 19.01.2010

Я согласен со всеми мнениями о том, что хранить данные на стороне клиента с помощью JavaScript сложно. Если нам нужно создать отдельное приложение, то Adobe Air кажется многообещающим. Согласно спецификациям и функциям, заявленным Adobe, мы можем использовать навыки JavaScript и html для создания приложения, а также это позволяет вам читать/записывать в локальное хранилище в файле или базе данных.

person Shashank    schedule 22.02.2012

Вы можете использовать флэш-память для хранения данных. По умолчанию он позволяет хранить до 100 КБ, и вы можете иметь больше, получив разрешение от пользователя.

Дополнительную информацию можно найти на странице Google

person Emre Erkan    schedule 19.01.2010