JS-приложение без сервера
можно ли построить приложение которое сохраняет результат своей работы в одном html-файле через команду save as браузера ?
то есть вместо БД все данные сохраняются в одном html-файле |
Автоматически - нет, только руками. Однако Вы можете сохранять данные в LocalStorage или WebStorage.
|
непонял
яваскрипт меняет дом-дерево хтмл сохраняя данные в его элементах неужели сохраняя страницу на диск не сохранится созданное дерево-дом |
Цитата:
в общем случае - не сохранит. проверил на конкретном примере - хром не сохранил скрипт пишущий ссылку. то есть наоборот - скрипт сохранил полностью а вот сгенерированную им ссылку - нет. |
а если скрипт остается неизменным, но наработанные данные записываются в "бд" в виде содержимого тегов хтмл ? например в виде текста
|
Может быть лучше объяснить суть задачи, а мы вместе уже подумаем как ее лучше решить?
|
да, это задачка ))
любым способом достичь того чтобы программа сохранялась в виде одного файла хтмл, в котором и исходный скрипт, и цсс допустим это рисовалка или текстовый редактор - результат работы пользователя это DOMдерево, то есть данные кодируются в теги хтмл и обратно раскодируются при открытии |
у яваскрипта есть ограничение на запись файлов
но яваскрипт может менять хтмл документ и браузер может сохранить измененный хтмл документ поэтому есть лазейка - хранить данные в виде элементов хтмл другой вопрос - как. как кодировать данные js-программы в элементы хтмл и обратно. но это решаемо разве не так? |
macdack,
Не извращайтесь, юзайте localStorage |
задача иная - иметь возможность открыть файл на другой машине
|
Вот такой трюк заставляет сохранить HTML, а не скрипт его сгенерировавший в Chrome и Firefox
в Opera и IE соответственно сохраняется только сам скрипт, без измененного HTML window.onload = function() { document.getElementsByTagName('body')[0].setAttribute('data-qwe', 'asd'); var script = document.getElementsByTagName('script')[0]; script.parentNode.removeChild(script); } Дерзайте дальше, эксперементируйте |
спасибо, но ковырятся тое эксперементировать не буду
ибо спросил лишь чтобы понять принципиальную возможность сохранения браузером измененного хтмл дерева понял из ваших любезных ответов что невозможно |
Цитата:
Сохраняете в виде XML. |
Часовой пояс GMT +3, время: 01:14. |