UPD.
Поскольку инструкция была перенесена из песочницы, где она пролежала очень долгое время, она частично не актуальна, но работает, хоть и не так стабильно.
Если у вас браузер на базе хрониума (хром, опера, яндекс браузер, вивальди, амиго и т.п.), то меняйте кодировку дампа на utf-8.
Если у вас firefox на utf-16.
В остальном старайтесь совершать как можно меньше манипуляций с браузером после утери данных и как можно быстрее снять дамп. Желательно снимать дампы с первых 2-3 процессов сразу, если вам не удастся найти данные в первом дампе или они слишком фрагментированы ищите в следующих.
Ссылка на ветку с комментариями, где можно найти некоторую доп. информацию.
Как-то раз писал я большой текст по SEO на одном из профильных форумов, текст получился большим и дельным. По привычке время от времени отвлекаться от набора текста (будь эта привычка неладна), переключаясь между закладками оперы, я, не скоординировав движения руки, вдруг, непроизвольно воспользовался оперовским управлением мышкой (будь оно неладно) и... Да! Закладка выполнила команду «Назад»… И весь текст сгинул в небытие. В отчаянии, поняв, что текст потерян, что по ленивости своей новый я набирать не буду, прослыву лгуном, человеком не держащим слово и сгину неудачником на задворках цивилизации, хотел было закрыть браузер и пойти на улицу, топить уток в пруду. Но самообладание вернулось ко мне и я начал вспоминать то, чему учили меня в ВУЗе… Компьютерный эксперт я в конце концов или нет? К сути дела.
Восстанавливал я информацию потерянную в браузере опера, по сути из других браузеров восстанавливается аналогично. ОС — Win7. Ни каких особо профессиональных программ не используется, всё делается очень просто.
Если Вы закрыли браузер, то в дампе памяти вновь открытого браузера не будет набранного Вами текста. Браузер закрывать нельзя!
Может быть, когда руки дойдут, напишу как восстанавливать информацию из уже закрытого браузера.
Первичное решение пришло быстро: Снять дамп памяти с оперы и найти текст там. Матчасть структуры дампа я не помнил конечно, но вспоминалось мне, что информация из дампа барузера восстанавливалась быстро.
Итак, приступим.
Для начала нужно непосредственно снять дамп открытой оперы. Для тех, кто вдруг не знает, как снимать дамп памяти из Windows:
Снятый дамп весит, немного немало, кучу мегобайт! В моём случае он весил около 930мб. Понятное дело ни один текстовый редактор такую тушу не откроет. А блокнот и вовсе говорит, что файл «opera.dmp», цитата: "… слишком велик", видимо столь низкой программе, как блокнот, пылью бытия подошвы дампа осквернять и вовсе не положено. В общем, дольше всего я не мог понять чем открыть сие чудо. «Коллеги» на мой вопрос «Чем открыть текстовый файл весом в гигабайт?», сперва отвечали возмущением, мол «Сколько?!», а далее окончательным ответом «Не знаю» или советами скачать суперпрограмму «яоткроювсёчтоугоднокрометогочтотебенадо3000». Ну хорошо выучились, ничего не скажешь.
Озарение пришло неожиданно. Открывается такой файл через режим просмотра в Total Commander'е. В просмотре Вы увидите большой текст, в котором конечно же не найдёте ни слова по-русски. Но переключившись в юникод — «Options -> Unicode» увидите кучу китайских иероглифов, но не пугайтесь, Вы на верном пути! Жмёте Ctrl+F и вводите кусок потерянного текста, лучше если это будет как можно более уникальный кусок, а не общие слова типа «яндекс», «мороженное», «купил» и т.п.
Так же не забывайте, что текст скорее всего будет разорван и разбросан по дампу. Если Вы нашли кусок текста, а концовки у него нет, то скопируйте часть примыкающею к концу найденного куска и вбейте в поиск, возможно найдёте более длинный кусок текста. И помните, что восстановить текст полностью скорее всего не получиться, но большую часть найти удастся.
Кратко об этапах восстановления:
- Не закрываете браузер, открываете диспетчер задач.
- Снимаете дамп.
- Скачиваете и открываете Total Commander.
- Идёте в директорию (папку), в которой сохранили дамп, выделяя его жмёте F3.
- В открытом окне переключаетесь в юникод (Options -> Unicode).
- Ищете свой текст.
Далее Вы либо его находите, а следовательно ликуете и радуетесь, либо не находите, плачете, рвёте волосы на голове или груди, идёте в парк топить уточек в пруду. Или проверяете всё ли Вы сделали правильно, потому что скорее всего Вы что-то сделали не правильно… В этой жизни.
Спасибо за внимание!
Комментарии (36)
vlreshet
08.03.2018 15:05+1А вы уверенны что CTRL+SHIFT+T не спасло бы ситуацию? Обычно текст в формах сохраняется, если вернуть вкладку таким путём
dmitryredkin
08.03.2018 16:21Автор же написал: "кнлпка назад", а не "крестик на вкладке"
Goodkat
08.03.2018 21:25Safari пару раз так восстанавливал текст в форме после нажатия «назад» и «вперёд». Но зависит от формы, видимо. Если что-то кривожабоскриптовое, то не восстановит, наверное.
maggg
08.03.2018 15:33+1Sublime Text вроде нормально открывает большие и очень большие файлы.
dmitryredkin
08.03.2018 16:24По моему опыту, "очень большие", причем бинарные- всё-таки не очень быстро.
Vlad_IT
08.03.2018 17:46Нужно смотреть, чтобы не включалась подсветка кода, она жрет очень много ресурсов. Даже если в файле нечего подсвечивать.
olvin_hh
09.03.2018 04:41Sublime открывает, но придётся ждать (хотя он показывает прогрессбар). Ещё способ открытия — это любой hex-редактор. Они приспособлены для этого — читают файлы кусками и поэтому открывают моментально, и даже прокрутка (не поиск) не проблема.
MonkAlex
08.03.2018 16:28+3FAR отлично справляется с любым размером файлов и поиском по ним потом — тоже.
За рецепт — спасибо, может и пригодится.saboteur_kiev
08.03.2018 19:40FAR справляется даже лучше.
Но тут есть такой момент — вместо всей статьи, можно было просто нажать кнопку «вперед». А если кнопка «вперед» не помогает, то и дамп не поможет, ибо вашего текста там скорее всего не будет.Anarmus Автор
09.03.2018 03:40Тут я не могу согласиться, ибо дамп памяти процесса содержит очень большой пласт данных, которые так просто и одномоментно не затираются. Время (и количество действий) прошедшее с момента «утери» до снятие дампа влияет на целостность и объём данных которые вы можете восстановить, но отрывочные части текста можно найти в дампе и через час после события, и намного позже.
saboteur_kiev
09.03.2018 03:55Я только что проверил, что на том браузере, на котором у меня после back — forward, содержимое поля пропадает — в дампе я не смог найти ключевое слово.
Anarmus Автор
09.03.2018 04:48Скринsaboteur_kiev
09.03.2018 13:28Вы в этой опере пробовали нажать forward после back? Текст остается?
Anarmus Автор
09.03.2018 19:24Нет, это яндекс браузер, текст пропадает и при переходе, и при закрытие вкладки.
Опера на престо, это 12 опера (в инструкции именно она), которая не актуальная уже много лет, но с неё восстанавливать проще, там данные в подобном виде «висят» дольше. Но текст также пропадает.
Ссылка на видео (youtube)
Извиняюсь конечно за кривую кадровку и колхоз-обрезку, но было лень нормальное видео записыватьsaboteur_kiev
09.03.2018 19:30Тогда я начинаю предполагать, что все дело в браузерах. Firefox видимо сразу подчищает память (случайно или в целях безопасности).
Было бы хорошо потестировать вашу фичу на разных браузерах и добавить это в статью.Anarmus Автор
09.03.2018 21:36Ну как сказать, здесь тонкостей очень много, не только и не столько в браузере дело. Опять же повторюсь, что инструкция очень старая и в данный момент не столь стабильна, как была ранее, её нужно в принципе переписать полностью, но как бы делать мне это сейчас уже и некогда.
Ссылка на видео с тестом в firefox.
Amareis
08.03.2018 16:43Несколько раз пользовался подобным рецептом, но на линуксах. Shift+Esc, смотрим номер процесса нужной вкладки, sudo gcore [номер процесса], далее грепом по ключевым словам из файла core.[номер процесса] достаем нужный текст.
Alex_ME
08.03.2018 17:43Так и не понял, в чем проблема с кнопкой "Назад"
Гифкаsaboteur_kiev
08.03.2018 19:37Не всегда срабатывает
ГифкаUksusoFF
09.03.2018 12:42По моему это срабатывает только на нативных textarea. Если они рисуются с помощью javascript или там вообще какой-нибудь CKEditor, то не прокатит.
Вообще если такая проблема периодически мешает жить, то с помощью userscript в браузере можно добавить подтверждение на хождение по истории и закрытие вкладок если на странице был введен текст в любые поля ввода.
Для некоторых CMS есть даже готовые решения: https://cgit.drupalcode.org/node_edit_protection/tree/node-edit-protection.js
saboteur_kiev
09.03.2018 13:29Простите, но обе гифки были сделаны прямо тут, на хабре.
frog
09.03.2018 00:57Хотя это больше про профилактику, но всё же: уже много лет как приучил себя, если в форме (необязательно браузера) введёно хотя бы несколько строчек текста, то при переходе на другое приложение, вкладку, или если надо отойти от компа — всегда делаю Ctrl A Ctrl C. Это уже настолько на автомате, что даже не задумываюсь. Привычка эта спасала не раз.
boilroom
09.03.2018 01:28Согласен. Исправление собственных фейлов (ну у кого их не бывает!) — дело святое и часто даже полезное для расширения кругозора и арсенала полезных привычек.
От себя добавлю, что никогда не пишу что-то серьезное сразу в форме. Сначала — в редакторе с автосохранением, а потом уже результат копируется в форму. А то мало ли чтоjrthwk
09.03.2018 13:47+1Я для себя сделал батник который делает в одном определенном каталоге уникальное имя типа такого 20180309_115450 и запускает far-овский редактор с этим именем. И повесил его запуск на горячую клавишу.
Надо сделать мелкую заметку, написать небольшой текстик или что-то из консоли сохранить — одно нажатие и набиваешь там. Потом в любой момент времени знаешь где искать такие твои микрозаметки.
jrthwk
09.03.2018 03:28+1Вообще-то как раз в опере, которая на престо, в таких случаях обычно помогало сделать «вперед» и она открывала окно ввода с набитым текстом.
Но потом форумные движки погрузились в бездны вебдваноля, аякса и прочих дизайнерских интерактивностей и да, это стало помгать далеко не везде…
perfect_genius
09.03.2018 09:35Стоит ещё отметить, что Хабр не давал сохранить текст в поле до обновления.
philfreeeu
09.03.2018 11:54Для Файрфокса, кажется, был плагин, который давал возможность восстанавливать текст, вводимый в формы. Но устанавливать его, естественно, нужно до того, как текст пропал.
LuckyStarr
09.03.2018 13:39
Kolbenshmidt
09.03.2018 17:25Обычно объёмный текст (а не коммент, вроде этого) я пищу в текстовом редакторе а затем копипащу. Но так тоже можно)
The_DimoK
09.03.2018 21:09Про просмотр больших файлов листером TC сразу тоже подумал. А вообще, помимо рефлекторного копипаста набираемого текста (Ctrl+A, Ctrl+C, о чём уже писали тут), ещё использую функцию ведения дневника в Punto Switcher. Не раз спасало после случайного закрытия не только вкладки браузера, но и закрывания окна мессенджера и т.п.
Ugrum
Спасибо, даже мне, как человеку, который с компьютером на «Вы», этот рецепт понятен, коротко и ясно.
Пару раз точно выручил бы меня за последний год.
dmitry_dvm
Какими судьбами вы здесь? Правда интересно.
Ugrum
Гуглил проблему какую-то лет чуть менее десяти лет назад, ну вот и догуглился. С тех пор прокрастинирую тут/мозги разгружаю от рутины/новые слова узнаю.