2014-09-15 7 views
0

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

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

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

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

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

Спасибо!

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

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

+0

И сохранить непосредственно в папку? JavaScript не может получить доступ к локальной файловой системе по очень хорошим причинам безопасности.Вы можете потенциально сделать доступный для них файл для загрузки, см. Http://stackoverflow.com/questions/2897619/using-html5-javascript-to-generate-and-save-a-file?rq=1 –

+0

"like покупка объектов "не звучит офф-лайн приложение. Я имею в виду, как покупать что-либо в оффлайне? – Teemu

+0

вы можете сохранить его в папке загрузки, но не только в старой папке. ну, на самом деле, некоторые браузеры предоставляют возможность «спросить, где сохранить каждый раз», поэтому таким образом можно сохранить любую папку ... http://danml.com/download.html – dandavis

ответ

0

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

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

Возможно, вы можете взглянуть на NodeJS, время выполнения JavaScript на стороне сервера, которое может работать как lighty Web server по малым и крупным проектам, так и по it has built-in server-side JavaScript I/O functions.

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

0

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

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