На dle форуме тема, про то, как сохранить уже набранный текст в полях редактора FroalaEditor (WYSIWYG) на случай сбоя (свет, интернет, хз что ещё может быть), ну, дабы не набирать всё заново.
До сегодняшнего дня болталось всё это дело в закладках, пока не реализовалось.
Кстати, на деле оказалось всё просто.
Есть "localStorage".
Есть "Google".
И так, открываем наш файл добавления новости - "addnews.tpl" любым редактором и в самый низ добавляем код jаvascript...
<script>
// short\full\autosave
(function () {
var short_story = entryform.elements.short_story;
var full_story = entryform.elements.full_story;
function supportsLocalStorage() { return typeof (Storage) !== 'undefined'; }
if (!supportsLocalStorage()) {
//short_story.value = 'Нет поддержки HTML5 localStorage';
//full_story.value = 'Нет поддержки HTML5 localStorage';
} else {
try {
setInterval(function () {
localStorage.setItem('short_story_autosave', short_story.value);
localStorage.setItem('full_story_autosave', full_story.value);
}, 1000);
} catch (e) {
if (e == QUOTA_EXCEEDED_ERR) { alert('Превышена квота!'); }
}
if (localStorage.getItem('short_story_autosave')) { short_story.value = localStorage.getItem('short_story_autosave'); }
if (localStorage.getItem('full_story_autosave')) { full_story.value = localStorage.getItem('full_story_autosave'); }
document.querySelector('.clear_autosave').onclick = function () {
short_story.value = '';
full_story.value = '';
localStorage.removeItem('short_story_autosave');
localStorage.removeItem('full_story_autosave');
};
}
})();
</script>
Который записывает каждую секунду данные полей в память.Далее добавляем нашей кнопке "сабмит" дополнительный класс - "clear_autosave", в моём случае..
<button class="ml-auto btn btn-raised btn-phone-block clear_autosave" type="submit" name="add">Добавить новость</button>
Что бы при добавлении новости поля очищались.Вот собственно и всё. Пользуйтесь.
В программу естественно добавлю.
С уважением, Александр.