Відновлення попередньої сесії (вкладок) в Mozilla Firefox

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

Механізм автоматичного відновлення попередньої сесії (Session Restore) з'явився ще в 2-ій версії браузера. Firefox в спеціальному файлі (sessionstore.js) Зберігає всі відкриті вікна і вкладки, в тому числі url сторінки, розмір і позицію вікна / вкладки і набрану в текстових полях інформацію. Після аварійного завершення роботи на підставі даних у файлі, Firefox автоматично намагається відновити попередню сесію, відновлюючи всі відкриті вікна і вкладки, які були відкриті до несподіваного падіння браузера. Якщо падіння відбувається вдруге, то при старті Firefox з'являється вікно з написом:

Firefox може відновлювати всі вікна і вкладки, які були відкриті під час останнього закриття або несподіване падіння Firefox.

Ой, ось невдачаПри відновленні ваших вікон і вкладок у Firefox виникла проблема. Це може бути викликано недавно відкритої веб-сторінкою.

Ви можете спробувати:

  • Видалити одну або кілька вкладок, які, на вашу думку, можуть викликати проблеми
  • Почати абсолютно нову сесію

Якщо відзначити раніше відкриті вкладки, які потрібно відновити і натиснути кнопку "Відновити" Firefox відкриє ці веб-сторінки.

Якщо вікно "Відновлення сесії" автоматично не з'явиться, його можна спробувати викликати, вибравши пункт меню Журнал -> Відновити попередню сесію.

Примітка. Це ж вікно можна викликати, набравши в адресному рядку браузера about: sessionrestore.

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

В першу чергу розповімо про механізм резервного копіювання відкритих вкладок і вікон в Firefox. Інформацію про поточну сесії Firefox зберігає у файлі sessionstore.js, який знаходиться в каталозі профілю користувача (C: \ Users \ username \ AppData \ Roaming \ Mozilla \ Firefox \ Profiles \ xxx.default - в Windows 7 і 8, або c: \ Documents and Settings \ username \ Application Data \ Mozilla \ Firefox \ xxx.default в XP). Якщо в процес роботи з Firefox простежити за зміною його розміру, можна помітити що при відкритті нової вкладки / вікна його розмір збільшується, а при закритті - зменшується.

Після "падіння" Firefox намагається автоматично завантажити інформацію про відкриті вкладки до іншої та вікнах з файлу sessionstore.js. У тому випадку, якщо файл пошкоджений, недоступний, має некоректний формат або браузер з якоїсь незрозумілої причини його "не бачить" - Firefox запускає нову "чисту" сесію, а пункт меню "Відновити попередню сесію" стає недоступним. Однак не варто впадати у відчай - є ще кілька способів відновити список раніше відкритих файлів.

Справа в тому, що в цьому ж каталозі профілю, в папці sessionstore-backups, знаходиться файл recovery.js (recovery.bak), який містить інформацію про попередньої сесії Firefox. Цей файл є копією файлу sessionstore.js, який автоматично створюється в тому випадку, якщо останній раз робота Firefox була завершена з помилкою.

важливо. Перш ніж переходити до ручних методів відновлення, обов'язково створіть резервну копію файлів і sessionstore.js і папки sessionstore-backups, скопіювавши їх в довільний каталог.

Закрийте Firefox і перейменуйте файл recovery.js (recovery.bak) в sessionstore.js (із заміною), після цього спробуйте запустити Firefox. Подивіться, чи вдалося відновити дані про попередньої сесії.

Порада. У цій же папці знаходяться файли формату upgrade.js-ГГГГММXXXXXXXX - це більш ранні копії відкритих сесії. Подивіться на дату створення цих файлів, якщо вам влаштує відновлення сесії за цю дату - спробуйте перейменувати файл upgrade.js-ГГГГММXXXXXXXX в sessionstore.js і запустити Firefox.

Якщо і цей спосіб не допоміг, можна спробувати витягти список URL з файлів sessionstore.js. Формат файлу досить специфічний - при бажанні, звичайно, можна і вручну проаналіщіровать вміст файлу, і знайти всі відкриті сторінки, які містяться в конструкціях починаються з «Url»: »http, але цей шлях досить виснажливий і трудомісткий.

Спробуємо трохи автоматизувати методу вилучення url з файлу:

  1. В першу чергу потрібно встановити розширення Firefox для веб-розробників: Firebug (Firefox -> Доповнення -> Пошук серед доповнень -> Firebug -> Встановити).
  2. Потім знайдіть раніше скопійований файл sessionstore.js і перейменуйте його в sessionstore.txt.
  3. Відкрийте цей файл за допомогою браузера (Firefox-> Нова вкладка -> Відкрити файл, вказуєте шлях до txt файлу).
  4. Запустіть консоль Firebug (Firefox-> Веб-розробка-> Firebug-> Відкрити Firebug)
  5. У самому низу вікна є консольна рядок (на скріншоті відзначена червоним прямокутником). Скопіюйте в неї наступний js код: javascript: (function () var D = document, H, i = j = 0, P = D.getElementsByTagName ( 'PRE'), t = ", R = / [^:] \ " entries ": \ [ \ ( "url": "([^"] *) ") \, (" title ":" ([^ "] *)") 0,1 / g, T, U; for (j = 0; E = P [j]; j ++) H = E.innerHTML; while (R.exec (H)) U = RegExp. $ 2; T = RegExp. $ 4; if (T.length == 0) T = U; t + = '[ '+ (++ i) +'] '+ T +' ( '+ U +')
    '; With (window.open (). Document) write (t); close ()) ();
    І натисніть Enter.
  6. Після чого повинна відкритися нова вкладка, на якій будуть присутні всі посилання, який скрипт "витягне" з файлу відновлення сесії Firefox (як перемогти кодування з російськими title - я розібратися не зміг 🙁) .
  7. Відкрийте потрібні вам посилання.