написание расширения Firefox для отображения безрамного / прозрачного окна - PullRequest
2 голосов
/ 29 июня 2009

Я сейчас разрабатываю расширение для Firefox. В расширении Firefox вы можете отобразить окно, вызвав window.open и указав файл XUL для этого окна. Вы можете сделать это диалогом и / или модальным. Но нет способа сделать окно безрамным (без заголовка и границ окна), и я это понимаю. Кроме того, невозможно сделать тело окна прозрачным (но не элементы управления внутри него), также я понимаю, почему.

Я знаю, что есть обходной путь, чтобы сделать прозрачное окно нестандартным способом. Но это не снимает рамку окна. Я хотел бы спросить, есть ли кто-нибудь, кто знает способ достичь такой цели, безрамное и прозрачное окно. Или, может быть, хотя бы удалось добиться безрамного окна. Я был бы рад получить любые предложения, даже если они не являются идеальным решением.

Спасибо.

Edit:

Прозрачное или безрамное окно должно быть основано на графическом интерфейсе Firefox, а не на HTML страницы (т.е. я не пытаюсь изменить HTML страницы, чтобы показать окно с javascript, который является частью документа HTML ). Любое решение, не основанное на HTML текущей страницы, принимается.

Ответы [ 2 ]

2 голосов
/ 30 июня 2009

Вы не сможете сделать это с помощью окон. Однако вы можете выполнить то, что хотите, с помощью элемента xul: panel . Вы можете использовать стандартный CSS, чтобы сделать его прозрачным, и контролировать, где он открывается. Подробнее о панелях см. всплывающее руководство по ним .

0 голосов
/ 29 июня 2009

Проблема в том, что это не работает одинаково на разных платформах. Оформление окон и прозрачность контролируются оконным менеджером, и это должно быть сделано по-разному для Windows, Linux и Mac. Возможно даже для каждой версии и пакета обновления.

Вам нужно будет включить библиотеки для платформы для вашего расширения и получить контроль над окном, которое вы хотите сделать прозрачным. Код, который делает окно прозрачным, не привязан к Firefox и, вероятно, должен быть обсужден в другом вопросе.

...