Подчищал-удалял разные свои записи, сделанные во время этой работы, и нашёл там вот какое наблюдение.
Запускаем браузер, открываем Консоль браузера, закрываем окно браузера. Оказывается, то, что при этом происходит в Консоли, зависит от того, как именно окно браузера было закрыто.
Если закрывать нажатием крестика в правом верхнем углу браузера или на единственной вкладке - в консоли пишется: "Webconsole context has changed".
Если закрывать нажатием Ctrl-F4 или Ctrl-W на единственной вкладке - в консоли пишется: "Webconsole context has changed".
Если закрывать нажатием Alt-F4 - в консоли тишина.
Если закрывать через пункт "Выход" в меню - консоль тоже закрывается.
Логику в этом можно усмотреть такую: если закрывают крестиком или клавиатурным сокращением, то это воспринимается как закрытие конкретного окна браузера, а пункт "Выход" означает закрытие не только браузера, но и всего-всего-всего (все другие окна браузера при этом тоже закрываются).
Выбивается из этой логики только Al
…Великолепно! Я о существовании leaveModalState() даже не подозревал.
Спасибо огромное.
Если работает — аддон не требуется.
А я как раз соорудил минималистичный вариант, в котором ничего постороннего.
Но если закрывать с некоторой задержкой, тогда нормально.
Ох, было у меня такое подозрение, что причина именно в том, что потомок не успевает закрыться до вызова close() у родителя, но попробовал несколько раз подряд руками запускать ту свою закрывающую функцию из консоли браузера и получил описанную ранее картину: при первом запуске закрывается верхнее окно, при последующих уже ничего дополнительно не закрывается. Из этого радостно сделал вывод, что причина в чём-то другом.
Если работает
Работать-то работает, но слово "радостно" я употребил потому, что это на мини-примере всё хорошо и прекрасно, а в реальной жизни в этих окошках находятся данные, их может быть много и они ещё не сохранены. При закрывании окошка начинается их запись на диск, длительность которой предугадать невозможно (особенно если процес
…Здравствуйте.
Вопрос у меня на связан напрямую с CB, но задать его больше негде.
После многих лет занятия чем попало попытался немного вернуться к браузероковырянию и усовершенствовать одно из своих любимых и давно используемых дополнений.
Когда вся основная работа была сделана и желаемый результат достигнут, решил ещё для красоты приделать "сбоку бантик", и в результате получил такое "чёрти-что", что не знаю, что и подумать.
Суть проблемы:
Дополнение при вызове открывает своё окно. Оно не модальное, висит себе рядом с браузером, работать не мешает.
Из этого окна можно открыть диалог. Из этого диалога можно открыть второй диалог, из которого в тяжёлых случаях может быть открыть ещё и третий диалог.
Вся эта конструкция живёт своей жизнью и остаётся на экране, даже когда все окна браузера уже закрыты.
В принципе, меня это всю жизнь устраивало, но сейчас решил добавить в настройки галочку "Закрывать при выходе из браузера". Для этого добавил в существующий код XPCOM-compon
…В профиле в файле настроек (prefs.js) записаны абсолютные пути к файлам, в которых хранятся письма. А профиль Thunderbird, как правило, находится в одном из подкаталогов учётной записи пользователя Windows. Поэтому в абсолютных путях любых файлов/каталогов профиля присутствует имя пользователя Windows. И, следовательно, тупо копировать профили с машины на машину можно только в случае, если на обеих машинах имена пользователей Windows совпадают.
Если имена различны, то нужно или отредактировать пути в prefs.js, или до копирования вынести каталоги с письмами в место вне учётной записи пользователя Windows, или после копирования в настройках почтовых ящиков указать новое расположение каталогов с письмами.
Что ещё за "сервис синхронизации"?
Впервые об этом слышу.
Сообщение №8 не первой странице этой темы ;)
Доктор ТуамОсес
Вот здесь некогда создали кнопочку для распаковки/упаковки JSON-файла, в котором хранятся поисковые плагины. При распаковке в JSON файл ещё и красиво форматируется.
Вот вариант той кнопки для распаковки файлов bookmarks-*.jsonlz4:
[code]Components.utils.import("resource://gre/modules/FileUtils.jsm");
var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(Components.interfaces.nsIFilePicker);
fp.init(window, "Open File", Components.interfaces.nsIFilePicker.modeOpen);
fp.appendFilter("Mozilla's Lz4 and json files format", "*.jsonlz4; *.mozlz4; *.json");
fp.displayDirectory = FileUtils.getDir("ProfD", []);
if (fp.show() == Components.interfaces.nsIFilePicker.returnOK) {
var file = fp.file;
if (file.exists() && file.isFile() && file.isReadable()) {
Components.utils.import("resource://gre/modules/Task.jsm");
Components.utils.import("resource://gre/modules/osfile.jsm");
Все штатные средства программы делают не Copy, а Move, то есть переносят контакт из одной книги в другую.
Как так? Когда я перетаскиваю контакт из одной книги в другую с нажатой клавишей Ctrl, то контакт именно копируется, а не перемещается.
Или я неправильно понял задачу, и нужно получить не независимую копию, а клон (в котором будет отображаться результат редактирования исходного контакта)?
Эта передовая технология ведь уже 9 лет в хроме?
Ага. Есть задача: загружать и показывать N разных веб-страничек одновременно. Это по самой своей сути очень хорошо распараллеливаемая задача. И есть движок веб-браузера, который изначально написан для показа одной странички, причём написан так, что распараллелить его о-о-о-чень тяжело. Какой выход? Лобовой вариант: запускаем N экземпляров браузера, в каждом из которых показываем одну страничку. Каждая копия браузера - это отдельный процесс(задача); операционная система многозадачная; поэтому желаемую одновременность мы получаем автоматически. Но с некоторых пор показывать странички в отдельных окошках уже не модно, поэтому модифицируем браузер так, чтобы изображение выводилось не в предоставляемое операционной системой отдельное окошко, а в общее самодельное окошко, имеющее вкладки (стандартный механизм передачи данных из одного процесса в другой предоставляет всё та же операционная система).
Всё. Без огромных усил
Что ответить пользователю, который спрашивает что такое мультипроцессность
Это очень сильно зависит от того, знает ли пользователь, что такое процесс. Потому что если нет, то начинать объяснение придётся именно с этого.
почему её настройка на вкладке "производительность", а не "защита" или "дополнительные"
Создателям программы так захотелось. К "защите" это точно отношения не имеет, потому что в рекламе:
Firefox запускает веб-содержимое для всех вкладок отдельно от основного процесса Firefox для повышения безопасности
- речь идёт не о повышении безопасности персональных данных пользователя, а о падениях и зависаниях программы.
Только лишь из-за того, что иногда браузер ступорится из-за содержания некоторых вкладок, а с её включенем перестанет подтормаживать?
Так ведь для пользователей важна скорость реакции программы на их действия, и именно её они, обычно, воспринимают как производительность.
…1. У одного товарища ядра простаивают, у другого не простаивают.
Это не имеет отношения к мультипроцессности. Разные потоки одного процесса вполне могут выполняться на разных ядрах. А потоков даже в однопроцессном случае браузер плодит "дохрена и больше": у моего [seamonkey] их в данный момент 50.
А распределением потоков по процессорам(ядрам) заведует не породившая их программа, а операционная система.
2. Включенная мультипроцессность обеспечивает рост скорости, хотя и без неё, и с ней — обработка происходит одинаково.
Это - вопрос исключительно внутренней реализации программы. Всё, что достигается за счёт мультипроцессности (кроме безопасности исполнения), может быть получено с помощью многопоточности: точно так же, только быстрее.
И если с отзывчивостью понятно (условно говоря: разные вкладки — разные процессы + e10s-gpu), то неясно за счёт чего мультипроцессность обеспечивает рост скорости, если и без неё неблокирующие друг друга операции выполняются параллельно.
Для того, чтобы разные вкладки обслуживались параллельно (на разных ядрах/процессорах), вовсе не обязательно разносить их по разным процессам, достаточно делать это в разных потоках (threads). Использование для этого именно процессов обеспечивает только большую безопасность (устойчивость выполнения) программы за счёт того, что данные одного процесса недоступны другому.
А, да, ещё в многопроцессном случае браузер может захапать под себя больше памяти: все потоки одного процесса ограничены памятью, доступной этому процессу (в 32-разрядных версиях Windows - 2 ГБ), а в случае N процессов получаем кратное увеличение доступной памяти.
Но переключение процессов занимает у операционной системы больше времени, чем переключение п
…На АМО, похоже, какие-то внутренние изменения произошли: раньше на страницах расширений, которые только для Firefox, была ссылка "Всё равно скачать". А теперь её нет. Убрали.
Но интересно, что тот же Ublock Origin, хоть и отсутствует в поисковой выдаче, но в подсказках, которые появляются по мере набора текста в строке поиска, всё равно присутствует.
Правда, он теперь "Совместимо с Firefox 57+", т.е. WebExtension.
Пример: @*.123.ru
Т.е. * - заменяет любое количество символов, а ? - один любой.
Возможно ли написание таких шаблонных условий?
Нет, в фильтрах шаблоны строк не поддерживаются.
Случай, приведённый в примере, можно там описать как: "заканчивается на" - ".123.ru"
Хотел бы узнать, можно ли как-то перенести только аккаунты почт, а далее, чтобы подгружались, к примеру, только заголовки писем?
Все почтовые настройки (кроме паролей) хранятся в том же файле, где и все остальные настройки программы - prefs.js. А принятые письма - в каталогах Mail и ImapMail.
Поэтому для переноса настроек ящиков нужно перевести Thunderbird в автономный режим, выйти из него, после чего перенести на другую машину либо всё содержимое профиля, кроме каталогов с письмами, либо один только файл prefs.js. Потом на той машине, куда это перенесено, запустить Thunderbird, в настройках почтовых ящиков отключить локальное хранение писем, после чего выйти из автономного режима.
в какой то момент перестают работать элементы интерфейса. В панели закладок перестают открываться папки закладок, не реагируют кнопки меню и других расширений.
Я недавно обновил имевшуюся версию 54 до 55.0.3 - получил такой же эффект.
Кнопки не нажимаются или нажимаются и ничего не делают?
Кнопки и пункты меню нажимаются, но ничего не делают.
Загрузка на процессор возрастает в момент ступора?
Трудно сказать: дело происходит в виртуальной машине, запущенной на удалённом сервере. Но судя по живости в этот момент всего остального - нет.
Антивирус установлен?
Нет.
Попробовать на чистом профиле желательно.
Тамошний профиль вполне можно назвать чистым: ему несколько дней отроду, настройки никакие не изменены, и никаких дополнений не установлено.
Может это и совпадение, но заходил я всего-то на два-три сайта, интерфейс всегда отваливался во время пребывания на одном из них,
…Помогите разобраться.
Трудно. Написано много, а информации, позволяющей понять ситуацию, не хватает катастрофически.
Есть сервер, на котором установлен Thunderbird и учетные записи пользователей, которые его используют.
Имеются в виду учётные записи пользователей Windows или Thunderbird?
Поскольку объем писем был около 45Гб я принял решение перенести папку Thunderbird с системного диска на другой диск.
Перенос файлов с письмами на новое место - штатная возможность Thunderbird, вызывается нажатием одной кнопки.
1)Как правильно установить-настроить Thunderbird
А как он сейчас установлен-настроен?
2) КАк сделать что бы можно было поднять старый профиль?Папка с профилем есть
Какая именно? Собственно профиль, Profiles или Thunderbird?
3) Как сделать так, что бы одновременно Два пользователи(учеки) могли работать с одной почтой?
Вопрос поставлен неоднозначно, но
…В параметрах почтового ящика i.petrova@pss.ru на первой же странице внизу есть кнопка "Дополнительные адреса электронной почты". Загляните туда.
Для ЖЖ, Вики - пока все.
Для ЖЖ, как я понимаю, искать "http:\/\/([^\/]*)\.livejournal\.com\/(.*)", менять на "https://$1.livejournal.com/$2"
А для википедии: искать "http:\/\/([^\/]*)\.wikipedia\.org\/(.*)", менять на "https://$1.wikipedia.org/$2"
и если включить использование мастер-пароля то приходится при старте вводить его 7 раз. Неудобно.
Там настройка "Спрашивать мастер-пароль" есть с вариантами:
"В первый раз, когда он понадобится"
"Каждый раз, когда он понадобится"
"Если он не использовался ?? минут или дольше"
Причём по умолчанию стоит именно первый вариант, т.е. "спрашивать один раз".
А без мастер-пароля мои сохранённые пароли доступны любому кто может сесть за мой комп. Как-то не продуман этот момент...
Наоборот: подумали и о тех, кто не хочет, чтобы кто не надо залезал куда не надо в тот момент, когда владелец отлучился от работающей программы.
там написано, что поддерживаются версии "Работает с Firefox 4.0 - 49.*"
Подробностей процесса установки уже не помню, но обычно в таких случаях браузер позволяет установить, нажав дополнительную кнопку подтверждения.
а как быть если firefox 52 версии не поддерживает DOM Inspector ?
Странно. У меня в firefox 52 успешно работает версия 2.0.16.1, взятая вот отсюда: https://addons.mozilla.org/ru/firefox/a … ctor-6622/
А ещё существует DOM Inspector Plus!
JohnMakav
А если по другому протоколу подключиться?
Только я совершенно не понимаю устройства и логики БД.
Полностью её сейчас расписывать смысла, наверное, нет.
Все хранимые адреса (закладки, посещённые URL, закачки) хранятся вперемешку в таблице "moz_places". Нужно её экспортировать в текстовый файл, отредактировать его и загнать назад в БД. При редактировании можно не разбираться, к чему относится URL: если прихватятся посещения или закачки - не страшно, скорее даже хорошо.
я уже примерился к SQLite Manager https://addons.mozilla.org/ru/firefox/a … e-manager/
Экспорта таблицы в .sql у него нет, только в CSV. Импорт из CSV имеется, но подозреваю, что он добавляет данные к имеющимся, а не замещает их, поэтому перед импортом лучше бы выполнить операцию "Очистить таблицу".
Общий смысл - как с помощью, скорее всего регекспов, выбрать нужные записи
А вопрос: "Для каких сайтов менять протокол?" - не стоит?
…У меня даже импорт сделать после экспорта в json не выходит:((
Тогда попробуйте освоить какую-нибудь программу для работы с базами данных SQLite и сделать нужные изменения с её помощью (в зависимости от возможностей программы - либо непосредственно в ней, либо через экспорт-редактирование-импорт sql-скрипта).
у меня более 13к и плейсес около 10мб
хотя у меня СМ и старая мож в новом фф всё кривее
Было тут некогда обсуждение темы размера этого файла, в ходе которого стало понятно, что его размер в значительной степени определяется хранящимися в нём favicons (или не хранящимися :))