Можно ли сгенерировать текстовый или XML-файл из данных локального хранилища и сохранить его в папке?

Я работаю над сайтом, который будет офлайн. Все файлы html будут в папке на жестком диске. Мне удалось сделать 90% работы, а о последней части я понятия не имею. Вот что это такое:

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

Я не знаю никаких кодов на стороне сервера, я все делал с использованием JavaScript, так как это должен был быть простой проект, но я застрял на этой части. Поэтому я не могу использовать PHP или что-то еще для создания файлов или использовать базу данных для хранения вещей.

Вот что я подумал, но я не думаю, что это работает, но хотел подтвердить, работает он или нет: создайте файл XML или файл .txt и сохраните его на диске, а затем очистите localStorage. Но я не думаю, что это возможно. Если это возможно, просто используя JavaScript, пожалуйста, укажите мне правильное направление, я исследую и что-нибудь придумаю.

P.S. веб-сайт будет полностью отключен, я имею в виду, что пользователи никогда не будут подключаться к Интернету, чтобы это работало. Также не будет ни сервера, ни локального хоста.

Спасибо!

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

Можно ли достичь этой функции без сценария на стороне сервера? Кажется, что конечные целевые пользователи не будут знать, как устанавливать какое-либо программное обеспечение, которое может предоставить локальный хост, сервер или что-то в этом роде.


person Renuka    schedule 15.09.2014    source источник
comment
И сохранить прямо в папку? JavaScript не может получить доступ к локальной файловой системе по очень серьезным причинам безопасности. Вы можете сделать файл доступным для загрузки, см .: stackoverflow.com/questions/2897619/   -  person Evan Knowles    schedule 15.09.2014
comment
как покупка предметов - это не похоже на офлайн-приложение. Я имею в виду, как купить что-нибудь в оффлайне?   -  person Teemu    schedule 15.09.2014
comment
вы можете сохранить его в папке загрузок, но не только в старой папке. ну, на самом деле, некоторые браузеры предоставляют возможность каждый раз спрашивать, где сохранить, поэтому таким образом любая папка может быть сохранена в ... danml.com/download.html   -  person dandavis    schedule 15.09.2014
comment
@Teemu Это был просто пример, это полностью офлайн, вы точно не покупаете вещи на этом веб-сайте, но функциональность аналогична.   -  person Renuka    schedule 15.09.2014
comment
@EvanKnowles Я подумал о методе загрузки, но тогда, если конечные пользователи сохранят файл в другом месте или не будут загружать его вообще, это будет проблемой. Также получение URL-адреса, по которому они его загрузили, и вызова этого в моем коде для меня слишком продвинуты (Idk, если это возможно). Спасибо за комментарий! :)   -  person Renuka    schedule 15.09.2014
comment
@dandavis извините, я не могу отметить более одного человека, поэтому, пожалуйста, проверьте мой предыдущий комментарий.   -  person Renuka    schedule 15.09.2014


Ответы (2)


Клиентские среды выполнения JavaScript в браузере не имеют доступа к локальной файловой системе, за исключением очень ограниченного доступа при загрузке файлов на удаленный сервер, и в любом случае браузеры не предоставят вам прямой доступ к файлу.

Вам понадобится какая-то логика на стороне сервера за кулисами, если вы хотите полный ввод-вывод в локальной файловой системе.

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

В противном случае вы абсолютно застряли в ограничениях песочницы клиентского веб-браузера.

person Matías Fidemraizer    schedule 15.09.2014

Вы можете ссылаться на документы knockoutjs и NodeJS ... Это, вероятно, поможет ... Насколько я знаю, NodeJS действительно содержит способ решения вашей проблемы.

person jyotin    schedule 15.09.2014