Як відновити інформацію про форми для веб-сторінки у Firefox


23

Я заповнив довгу форму на веб-сторінці, яка відхилила моє уявлення через помилку сервера. Я не можу відновити форму введення.

Чи є в Firefox можливість шукати кеш, історію і т.д. для відновлення цієї інформації?

Відповіді:


5

Я рекомендую вам встановити Лазар - це врятувало моє прикладу достатню кількість разів.


3
Лазар обіцяє. Але, на жаль, Лазар мертвий (!). Лазар не працює. Контактна форма на сайті порушена. І розробник не відповідає.
Nicolas Barbulesco

Також лазар якось конфліктує з вогнем.
Tomáš Zato

Звичайно, це "мертвий", і розробник, здається, МВС, але він все ще працює для мене.
Animadversor

@Anadadversor Більше не працює в Firefox v53, через несумісності (як повідомляє Firefox при запуску).
David Balažic

1
Інструменти "Form-saver", такі як Lazarus, повинні бути встановлені до втрати даних, а не після. OP просить відновити втрачені дані.
user598527

6

Ух! Я вирішив рішення - я зміг натиснути кнопку "назад" і "вперед" за допомогою кнопки " Прямі заголовки HTTP msgstr "розширення, що фіксує вхідний / вихідний трафік, а інформація про форму була частиною відповіді POST. (Firefox буде повторно надсилати форму, не знаючи, де це зберігається, але не має жодного очевидного вбудованого способу його відображення для користувачів)


2
Я думаю, що він зберігається в оперативній пам'яті, оскільки ви можете натиснути кнопку "Назад", щоб повернутися до форми з заповненими даними, але я ніколи не чув, що Firefox відновлює ці значення форм після закриття та перезавантаження браузера.
David Z

Ви, можливо, захочете мати Лазаря [ addons.mozilla.org/en-US/firefox/addon/6984 ], якщо щось подібне відбувається знову.
Sathyajith Bhat

@Sathya: розглянемо публікацію як окрему відповідь, я б проголосував.
Jason S

1
Можливо, це було не так три роки тому, але вбудовані в Firefox інструменти веб-розробника в даний час мають засоби, які дозволяють вам отримувати інформацію подібним чином. Просто відповіли тут .
sh1

1
У мене інша ідея. Перезавантажуючи сторінку, розглядаючи заголовки ... Я збираюся розмістити її як відповідь.
Nicolas Barbulesco

4

Мій метод був випробуваний в надзвичайному випадку (втрачений коментар на Facebook). Для цього потрібен інструмент третьої сторони - ProcessHacker . Це тільки для Windows - для методу Linux перевірте це питання . Він повинен працювати з кожним браузером, а не тільки з Firefox .

Є два шляхи. Перший більш зручним для користувачів , але якщо комп'ютер зірветься, ви втратите дані. Другий - більш безпечний , але потребує додаткового інструменту. По-друге, ви отримаєте файл, який ви можете дати якомусь експерту, якщо цей посібник буде занадто складним. Ви можете зробити шлях II, кроки 1 і 2, щоб бути безпечними, а потім шлях, щоб полегшити це. Я використав Шлях I.

Це точний список кроків, які я зробив:

Шлях I

  1. Перше, що потрібно зробити - це пауза процес. Це має вирішальне значення для успіху . Я відкрив ProcessHacker (PH), знайшов firefox.exe у списку (ви можете натиснути на стовпець "Name", щоб позбутися від перегляду дерев і отримати вигляд списку) і з контекстного меню я використав "Suspend". Тоді буде схоже, що Firefox заморожений, тому, якщо Windows запитає вас про припинення невідповідного процесу, не робіть цього! Він живий, просто спить.

  2. Двічі клацніть рядок firefox.exe або виберіть "Властивості" у контекстному меню firefox.exe.

  3. Перейдіть на вкладку "Пам'ять" і натисніть кнопку "Струни ..." у верхньому правому куті.

  4. Я використовував налаштування за умовчанням (прапорець [& amp; check;] встановлено, [] не позначено) - Мін. len .: 10; [& amp; check;] Визначити Unicode; Пошук у [✓] Приватне / [] Зображення / [] Натисніть кнопку "OK".

  5. Через деякий час (до хвилини, але, можливо, через кілька секунд) ви знайдете всі рядки. З такими налаштуваннями я тепер більше 700k рядків. Перевірте кожен з пошуків втраченого тексту . Просто шуткую! Перейти до наступної точки :)

  6. Натисніть ліворуч "Фільтр" і оберіть пункт меню, який найкраще підходить вам. Я використовував "Містить (нечутливий)".

  7. Введіть слово, яке було в тексті. Слово оскільки деякі рядки можна зберегти, наприклад, як " foo bar ". Чим довше і унікальнішим буде слово, тим менше результатів ви отримаєте (так буде легше). Якщо ви не отримаєте результатів, спробуйте інше слово. Я мав свій коментар у двох частинах пам'яті - в одному був повний, в іншому просто друга половина.

  8. Перегляньте результати. Більшість рядків буде видно з нульовим символом після кожного символу, наприклад, foobar буде f.o.o.b.a.r (Hex 66 00 6F 00 6F 00 62 00 61 00 72 ). Не турбуйтеся про це; це річ Unicode. Якщо ви знайдете текст, натисніть кнопку "Зберегти ...". Мій коментар виглядав як частина HTML, тобто <div> і <span> теги.

  9. Відкрийте збережений файл у редакторі, який підтримує Unicode. Я не знаю про вбудований блокнот, але він повинен працювати. Я використав Notepad ++.

  10. Знайдіть текст, скопіюйте потрібну частину. Скажімо "ура". Тепер ви можете клацнути правою кнопкою миші на рядок firefox.exe у головному вікні та вибрати "Resume".

Шлях II

  1. Повторіть крок 1 зі шляху I.
  2. Знайдіть рядок firefox.exe, клацніть правою кнопкою миші на ньому і виберіть у контекстному меню пункт "Створити файл дампа ...".
  3. Використовуйте якийсь редактор, який підтримує завантаження великих файлів. Notepad ++ має працювати з ним, але вам потрібно вимкнути розфарбовування синтаксису і перевірку орфографії. Приклади: HxD (безкоштовно, IMO краще), wxHexEditor (FLOSS).
  4. Перейдіть до кроку 10 зі шляху I.

Розумний підхід! Не працює для мене сьогодні (ніколи не робити довгі редагування в Gitlab он-лайн інструмент ...), але я буду тримати техніку (і хороший інструмент ProcessHacker) під подушкою.
Tibo

Ви можете створити файл дампа з Диспетчера завдань, див це відповідь . Так що не потрібно для сторонніх інструментів, таких як ProcessHacker.
David Balažic

Дякую, Девід. Я все ще думаю, що потрібно призупинити процес якнайшвидше, і відповісти, що ви пов'язані, нічого не говорить про це. У разі помилки багато зупиняться. Також є функція пошуку рядків у PH. Оскільки символи часто доповнюються символом 00h (null), вам все одно потрібен редактор для пошуку тексту (Notepad не виконуватиме завдання), тому не повністю "без третьої сторони". Тим часом я втратив коментарі YouTube і Disqus (наприклад, важкі JavaScript і динамічні сторінки) - це знову спрацювало, але це не на 100% надійний метод, як показує Tibo.
Krzysiu

якщо працює декілька хромованих процесів, чи є спосіб знати, з яким з них слід працювати?
JinSnow

@JinSnow unix.stackexchange.com/a/209699/167757 - можливо, це допоможе. Також в деяких випадках може допомогти перевірка початку процесу.
Krzysiu

2

Іншим можливим рішенням відновлення даних є створення основного дампа Firefox (якщо ви використовуєте його під Linux або подібним). Див. Цю відповідь для більш докладної інформації: https://superuser.com/a/236400/180675


2

Я знайшов новий аддон, який можна використовувати для відновлення втрачених постданих: Контроль історії форм

Автор стверджує:

Цей плагін також зберігає текст з полів редактора під час введення тексту, тому ви   ніколи не треба втрачати роботу, коли трапиться лихо. Відновити втрачені   робота після тайм-ауту сеансу, збої мережі, збій браузера, живлення   невдачі і всі інші речі, які зруйнують Вашу працею   Написати це важливе повідомлення електронної пошти, есе або блогу.

EDIT: О, це дійсно зберегло цю посаду. :)


Це розширення (дуже) гарна ідея. Але це занадто складно. Це розширення з гордістю говорить, що це "автоматично збережений текст, введений в будь-якій формі". Чи зберігає він дані, що вводяться користувачем? Наприклад, коментарі Disqus та редагування WYSIWYG у Вікіпедії.
Nicolas Barbulesco

@NicolasBarbulesco Я не знаю, спробуйте, а потім скажіть розробнику, якщо він не працює. Я вважаю, що він працює тільки для вхідних і текстових полів, і формує постдатки. Основна причина, чому я завантажив його, тому що багато дурних форумів просто вийти, якщо ви пишете пост занадто довго, їдять все ваше письмо ...
Calmarius

2

Сучасні версії Firefox мають у своєму розпорядженні Інструменти розробників, які можна використовувати для цього. Натисніть Ctrl + Shift + Q щоб відкрити інструмент "Мережа", натисніть F5 щоб перезавантажити сторінку (підтвердьте попередження, що вміст буде повторно надіслано, ми хочемо, щоб це відбулося), і виберіть (ймовірно) верхню лінію в Мережевому інструменті. Він повинен показати POST як метод.

На правій стороні з'являється набір вкладок. Те, що нас цікавить, "Заголовки", має бути вже відкритим. Натисніть Edit and Resend щоб отримати повний зміст запиту. Поле Body Request містить повні дані запиту в url-кодованій формі. Запустіть його через декодер цей щоб повернути свої дані.


1
Саме це. Примітка: деякі веб-сайти кодують вміст по-різному, в моєму випадку він замінює пробіли + і нові рядки з r \ t
user31389

1

Я боюся, що вміст форми не кешується ... Звичайні поля введення (один рядок) можуть бути збережені автозаповнення , але текстові області (кілька рядків, ті, що ви, напевно, набрали в) не є.


1

Веб-браузер однозначно має дані форми в пам'яті. Складність: Як отримати ці дані?

Ось моя ідея. Я не пробував. На папері , це працює. Ця відповідь стосується Firefox і інших веб-браузерів.

Коротко : Перезавантажте сторінку, розглядаючи заголовки.

  1. Налаштуйте машину. Нам потрібен механізм для перевірки трафіку HTTP, надісланого з веб-браузера.
    • Найкращим вибором є розширення LiveHTTPHeaders для Firefox. Але я думаю, що встановлення цього розширення потребує перезапуску Firefox. Не перезапускайте Firefox, звичайно! Було б непогано встановити цю техніку без перезапуску Firefox. В іншому випадку вам потрібно заздалегідь встановити це розширення. Якщо виникне потреба, просто використовуйте машину часу . ;-)
    • Якщо у веб-браузері неможливо мати готову техніку, є інший варіант. Ця опція важче. Але його могутня сила полягає в тому, що вона працює для всіх веб-браузерів і не перезапускає їх. Встановіть простий веб-сервер або налаштуйте проксі-сервер (наприклад, Squid) на вашому комп'ютері. Переконайтеся, що ваш сервер реєструє вхідний трафік з повним заголовком. І розмістити правило в ОС для перенаправлення всіх вихідних запитів до 127.0.0.1. Це можна зробити за допомогою a hosts файл.
  2. Випробування техніки. Створіть нове вікно у веб-браузері. Напишіть тут якийсь текст у Вікіпедії та натисніть Попередній перегляд . Потім переконайтеся, що у вашій машині ви бачите свій письмовий текст. Якщо ваш пристрій є варіантом сервера, ви повинні вимкнути правило перенаправлення, щоб завантажити форму Вікіпедії, а потім увімкнути її.
  3. Щоб перезавантажити сторінку, клацніть правою кнопкою миші, де знаходиться форма, і виберіть Перезавантажити . Це важливо. У деяких веб-поштах це перезавантажить лише кадр, у якому форма була. Тут ми хочемо якнайменше перезавантажити. Якщо натиснути кнопку Перезавантажити в адресному рядку або на панелі кнопок, або якщо ви натискаєте Apple R, ви ризикуєте перезавантажити всю сторінку, і в деяких веб-поштах це знімає себе в ногу.
  4. Зазвичай веб-браузер запитує: Чи потрібно знову надіслати дані форми? Якщо ви отримаєте це питання, це хороший знак. Виберіть Надіслати ще раз .
  5. Перегляньте відправлені дані POST з механізмом, встановленим на етапі 1. Тут ви знайдете потрібні вами дані.
  6. Приходьте розповісти нам, що це рішення спрацювало!

Для цього потрібно оновити, тепер використовуйте Інструменти розробника замість встановлення розширень.
user31389

1

*** Корекція: хоча нижче і працює в Firefox і Chrome, знімок у Firefox створює двійковий файл (gzip'd). Тому зараз цей підхід працює лише в Chrome:  (

Для обидва Firefox і Chrome, я думаю, що набагато простіший спосіб порівняти з фактичним дампами основних системних процесів - використовувати Developer Tools.

Перейдіть до Вкладка пам'яті (раніше називався "Профілі" в Chrome), а потім прийняти Знімок і збережіть його у файлі (це просто текст). Потім знайдіть у файлі якесь слово, яке ви знаєте, що ви написали у вашій формі - це, мабуть, найшвидший спосіб знайти весь вміст.

Screenshot of Firefox Developer Tools – Memory tab

Я просто перевірив його на Chrome на сторінці, де динамічна форма (JavaScript) переплутала сама по собі і втратила весь написаний мною текст. Це було ще в пам'яті, і я міг відновити його, навіть якщо я ще не представив його!

Подивитися https://developer.mozilla.org/en-US/docs/Tools/Memory і https://developers.google.com/web/tools/chrome-devtools/memory-problems/heap-snapshots для більш докладної інформації.


у Firefox файл просто стиснуто gzip, так просто zcat xxx.fxsnapshot дозволяє отримати вміст.
vaab

1
Завдяки @vaab це дійсно gzip'd, але після розпакування це все ще двійковий файл. gunzip -c (еквівалентно zcat на Mac) повертаються в основному знаки запитання ... я біг strings на ньому, і я міг би отримати деяку інформацію, але я не знаю, якщо повний зміст форми можуть бути відновлені таким чином.
Kamal
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.