Я хотел бы иметь html-файл с JavaScript, который (файл) может изменять свой контекст. Более детально я себе это так представляю. У меня есть HTML-файл, который я открываю в браузере. У меня есть текстовая область, где я набираю текст и нажимаю кнопку отправки. В результате контекст формы сохраняется где-то в html-файле. Как это сделать проще и стабильнее?
Самомодифицирующийся файл HTML-JavaScript
Ответы (1)
TiddlyWiki сохраняет все свое содержимое в новый локальный файл html-with-javascript специфичными для браузера способами. Это связано с тем, что запись на локальный жесткий диск обычно не разрешена в javascript по соображениям безопасности. Если вас интересует, как именно TiddlyWiki записывает файл, проверьте исходный код, начиная с :
function saveFile(fileUrl,content)
{
var r = mozillaSaveFile(fileUrl,content);
if(!r)
r = ieSaveFile(fileUrl,content);
if(!r)
r = javaSaveFile(fileUrl,content);
return r;
}
Это требует, чтобы пользователь явно переопределил предупреждения системы безопасности. Когда я пробовал это в Firefox, мне приходилось делать это несколько раз. Это не очень хорошая практика, так как у пользователя возникнет сильное искушение поставить галочку «Запомните это решение» и потенциально подвергнуть себя вредоносному ПО в будущем.
Как сказал кто-то другой, лучше использовать хранилище на стороне клиента, такое как новые функции в HTML 5 (доступные в новых браузерах), или более портативную библиотеку, такую как Google Gears; или, возможно, лучше, YUI StorageUtility, которая абстрагируется на более высокий уровень и использует либо HTML 5 , Google Gears или SWF в зависимости от того, что доступно.