Вопрос или проблема
Я ищу способ запустить Firefox из скрипта или командной строки без рамки окна, адресной строки или вкладок. Мне хотелось бы иметь возможность запускать это в заданных размерах и позиции окна на экране.
Иллюстрация:
Мне хотелось бы видеть только секцию, составляющую красный прямоугольник, и область внутри него.
Используя AutoHotKey в Windows, я смог запустить FireFox в заданном размере и позиции окна. Однако, если я пытаюсь запустить Firefox в “безрамочном” режиме и пытаюсь изменить размер окна с помощью AHK, я получаю окно браузера 0 px на 0 px.
Мой скрипт AutoHotKey:
Run, C:\Program Files\Mozilla Firefox\firefox.exe -chrome http://www.google.com/
WinWait, Mozilla Firefox
WinMove,,,100,100,400,300
Я нашёл похожие вопросы, но не нашёл решения:
Как открыть браузер без рамки окна или вкладок
Как запустить Firefox без вкладочной панели, верхней панели, адресной строки
Для этого существовал аддон под названием “Open Chromeless” — но его удалили из AMO. Вариант обхода описан здесь; я только что проверил его, и он, похоже, работает. Частично. Нельзя убрать адресную строку, и есть рамка вокруг окна. Если вас это устраивает:
- Нажмите Shift–F4, чтобы открыть Scratchpad
-
В редакторе введите
window.open("https://superuser.com/", "_blank","width=800,height=600,resizable");
(замените URL на тот, который хотите использовать)
- Нажмите “Run” на панели инструментов Scratchpad
Теперь должно открыться новое “безрамочное” окно с указанной страницей. Измените его размер по своему усмотрению:
Скриншот “безрамочного окна” (нажмите для увеличения)
Щелкните правой кнопкой мыши рядом с адресной строкой, как показано на скриншоте, чтобы отключить адресную строку (снимите галочку с “Панель навигации”) — но обратите внимание, что это также уберет ее из вашего основного окна.
Я понимаю, что это не полностью соответствует вашему запросу (это не запускается из командной строки и оставляет по крайней мере рамку вокруг окна), но это максимально близкое решение, которое я смог найти.
Хочу оставить это здесь, кажется, это слабо задокументированная функция Firefox под названием “Single Site Browser”:
https://support.mozilla.org/en-US/questions/1292666
Судя по всему, Firefox запретил скрытие адресной строки, если вы не запускаете его в этом режиме. Этот режим SSB всё же показывает рамку окна (подпись с названием окна, кнопки максимизации, закрытия и т.д.), но все остальные элементы управления окном отсутствуют.
Теперь я ищу способ использовать аддоны в этом режиме… 🙁
Когда я хотел сделать это на весь экран, я сделал нечто вроде этого:
firefox -url http://superuser.com -fullscreen
Но мне пришлось установить аддон, чтобы избавиться от всех лишних украшений.
“full fullscreen”, если я правильно помню название
Для меньших размеров, я не знаю
Минимальный Chrome Браузера
Следующий ECMAScript:
#!/usr/bin/env firefox
javascript:window.open(location.href, "detab", "toolbar=0"); window.close()
…создает отдельное окно браузера без большинства стандартных элементов, особенно вкладочной панели:
Важно:
- Несмотря на видимость адресной строки, URI непосредственно не модифицируем – вся навигация должна выполняться через GUI.
- Это не работает на внутренних страницах (например,
about:profiles
).
Чтобы скрыть адресную строку, можно попробовать следующее:
#main-window[chromehidden*="toolbar"] #nav-bar {
visibility: collapse;
}
Минимальные Украшения Окна
Удаление украшений окна пользователем является более сложной задачей, когда приложение не подключается к нативным API платформы программно. Я рекомендую вам прочитать раздел “Когда это возможно” на superuser.com/revisions/1863156/8
, который я написал специально для таких ситуаций. Он сосредоточен на принудительном отображении, но каждый метод применим также и в обратном направлении.
В итоге, ваш лучший вариант – использовать настраиваемый менеджер окон (например, KWin) на ОС, которая поддерживает выбор менеджеров окон.
Альтернативно:
- Вы всегда можете перейти в полноэкранный режим, или:
- Разветвить Firefox, чтобы включить CSD, а затем отключить все элементы управления.
Окружение
Это применимо к firefox-135.0-1.fc41.x86_64
.
.
Ответ или решение
Запуск Firefox без оконной рамки, вкладок и адресной строки представляет собой сложную задачу на большинство операционных систем, но существуют методы, которые помогут вам приблизиться к желаемому результату. Рассмотрим теоретическую часть, приведем примеры и предложим конкрентные шаги для их реализации в вашем случае.
Теория
Браузер Mozilla Firefox, как и большинство современных веб-браузеров, предоставляет пользователям возможность кастомизации интерфейса через параметры командной строки и дополнения. Однако, запуск браузера в полностью безрамочном режиме не предусмотрен стандартными средствами, так как это может вызвать трудности при взаимодействии и навигации. Большинство браузеров оставляют минимальный набор инструментов для удобства использования и безопасности.
Отсутствие вкладок и адресной строки может быть достигнуто с помощью так называемого "режима киоска" или "Single Site Browser", который предназначен для отображения только одного веб-сайта без стандартных элементов управления браузера.
Примеры использования
-
Командная строка и режим киоска: Вы можете использовать командную строку для запуска Firefox с параметрами, которые обеспечивают минимальное количество элементов интерфейса. Например:
firefox --kiosk http://example.com
Этот режим покажет только окно веб-сайта без адресной строки и других навигационных элементов. Однако, возможно, вам придется использовать это в полном экране.
-
Сценарий AutoHotKey: Хотя ваш скрипт AutoHotKey пытается изменить размеры окна, он может сталкиваться с ограничениями в "безрамочном" режиме. Попробуйте сохранить окна в режиме, который поддерживает размер и положение:
Run, firefox.exe --content-window --kiosk http://example.com
Обратите внимание, что –content-window и –kiosk не являются официально поддерживаемыми параметрами Firefox, но их комбинации могут быть полезны для вашего случая.
-
Использование Scratchpad для открытия окна: Используя Scratchpad в Firefox, возможно создать новое окно без хрома:
window.open("https://example.com", "_blank", "width=800,height=600,toolbar=no,scrollbars=no");
Этот метод открывает новое окно с заданными размерами, но может не скрыть все элементы окна.
Применение
Для практической реализации вышеописанных методов, продвинутые пользователи могут объединять несколько подходов, чтобы достигнуть максимального отклонения от стандартного интерфейса. Вот как это можно организовать:
-
Подготовка системы: Убедитесь, что у вас установлены все обновления для вашей версии Firefox и операционной системы. Это минимизирует ошибки внезапного поведения браузера при кастомизации.
-
Проверка совместимости дополнений: Если рассмотреть установку сторонних дополнений для удаления элементов интерфейса, убедитесь в том, что они совместимы с вашей версией браузера. Например, дополнения для "полного полноэкранного режима" могут помочь.
-
Использование кастомизации CSS/JS: В Firefox возможно использование модифицированных CSS для скрытия определенных элементов:
#main-window[chromehidden*="toolbar"] #nav-bar { visibility: collapse; }
Такие методы требуют навыков работы с CSS и JavaScript, так как они вмешиваются в стандартную рендеринг веб-страниц и интерфейса браузера.
-
Тестирование и настройка: Всегда тестируйте изменения в безопасной среде, чтобы не нарушить основную функциональность. Например, используйте отдельный профиль Firefox для экспериментов.
-
Рассмотрите использование других решений: Если настройка Firefox оказывается излишне сложной, рассмотрите использование браузеров или приложений с более широкими возможностями кастомизации под вашу задачу, например, Electron.
Заключение
Хотя выполнение всех требований к отображению веб-сайта в Firefox без элементов управления довольно сложно, существуют обходные пути и методы, позволяющие минимизировать присутствие браузерного интерфейса. Основное внимание следует уделить настройке режимов запуска и исследованию дополнительных возможностей через CSS/JS кастомизацию, чтобы добиться необходимого результата.