Подтвердить что ты не робот

Возможно ли сделать часть браузера прозрачной для отображения основного рабочего стола/окон в веб-приложении?

Я разрабатываю веб-приложение (предназначенное для работы как богатый клиент и способный позволить себе любую (даже ночную сборку) версию Firefox Chromium).

Фон интерфейса приложения должен быть прозрачным (отображающий основные окна или рабочий стол). Как я могу это достичь? Следующие стандарты не имеют значения, но было бы неплохо.

Первичная целевая платформа - Linux.

UPDATE адресация комментариев и ответов, полученных до момента 2010-07-07T01: 44Z.

Технически это ничего не касается взаимодействия кода и взлома "песочницы". Это о составе окна. Я даже думаю, что он может быть легко реализован в компоновщическом оконном менеджере без браузера, даже зная об этом - просто замените какой-то бесполезный цвет (например, "fuchsia" широко используется для этого во время Windows 9x) с содержимым нижнего слоя.

В политическом плане это может быть и должно быть ограничивающей функцией (например, доступ к локальному файлу и веб-камерам), что может быть разрешено для приложений доверенных интрасети (локальные веб-технологии с богатыми клиентскими приложениями, похоже, являются началом тренда) Firefox и Chromium реализуют все больше возможностей для этого) и запрещены для неизвестных 3-х сторонних веб-сайтов (но для этого потребуется более сложное взаимодействие между браузером и оконным менеджером).

Причина, по которой мне это нравится, заключается в том, что я хочу построить кросс-платформенное (Linux, Windows, Mac), нулевое установочное, привлекательное приложение для богатых клиентов (не предназначенное для использования в качестве интернет-сайта) с веб-технологий (например, HTML5, CSS3 и JavaScript). Я даже, вероятно, попытаюсь использовать некоторые технологии без браузера, чтобы запустить его (я слышал о Mozilla Prism и XulRunner, KDE и Windows, предлагающих использовать HTML для виджетов рабочего стола, Chromium предназначен для чего-то подобного и т.д.).

4b9b3361

Ответ 1

Это невозможно в настоящее время, но нет технической причины, по которой браузер не может предоставить для этого собственный API, используя нестандартные html/css/js.

Однако, что бы это ни понадобилось, браузер действительно реализовал эту функциональность, а затем выставил ее как API, и даже тогда это будет специфично для браузера.

ОБНОВЛЕНИЕ (как некоторые люди, возможно, неправильно поняли мой ответ???):

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

Кроме того, это не сломает модель песочницы. Сам браузер (забудьте API за секунду) мог реализовать прозрачность любым способом, который он хотел. После этого он может подключить его к движку Javascript и создать глупый вызов: Chrome.Element(""). WeirdTransparency()

ОБНОВЛЕНИЕ к обновлению опроса:

к вашей точке:

Причина, по которой мне это нравится, - это то, что Я хочу построить кросс-платформенную (Linux, Windows, Mac), zero-install, привлекательное клиентское приложение (не предназначен для обслуживания Интернета веб-сайт)

AIR kinda охватывает 90% или ваши требования. Он по-прежнему нуждается в небольшой установке, но помимо этого вы работаете...

Ответ 2

Я уверен, что разработчикам браузеров потребуется много "вдохновения" - ака $$$, чтобы сделать это. В настоящее время это не функция, которую ищут многие люди.

Так как стандартное соответствие очень велико в списке приоритетов для всех разработчиков браузеров, это может стать проблемой. А именно потому, что для него нет поддержки CSS/HTML, а стандарт должен иметь белый фон. Это означает, что им понадобится пользовательский "флаг" где-нибудь в разметке, чтобы сказать ему, чтобы переключить off на белый фон.

Это будет эксклюзивно для браузера, который реализует "функцию", а кто-либо другой, использующий любой другой браузер, не будет в этом разбираться.

Ответ 3

Это возможно в Электрон. Установив прозрачный фон на теле.

Ответ 4

Это невозможно. Браузеры отделены от рабочего стола, а код внутри внутри одного не должен взаимодействовать с чем-либо за пределами браузера.

Ответ 5

Как-то вы можете получить фоновое изображение рабочего стола, установить его html-фон и закодировать любое приложение в нем. когда вы делаете эту концепцию с активным рабочим столом в конфигурации рабочего стола, я вижу это. (Я максимизирую веб-страницу и блокирую ее - чтобы она выглядела как мой рабочий стол)

Для получения фона я помещаю его местоположение на свой компьютер прямо сейчас. Но я думаю, что для этого должен быть какой-то программный способ.

enter image description here

Это работает для наших локальных настольных компьютеров. Но идея, о которой вы говорите, определенно требует Призмы. Но Firefox выглядит так, будто он остановил этот проект для всех. (Тем не менее, я держу свалку на своем ПК). Так что у последних пользователей не было бы призмы, даже если вы укажете их, чтобы установить их на своих ПК.

И затем, Это работает, если изображение имеет полный размер, соответствующий размеру рабочего стола. В противном случае, мы должны повторить его, и весь рабочий стол выглядит абсурдным. Я часто пытаюсь написать AIR (приложение Adobe RIA для настольных компьютеров). Приложения для моего вкуса.

Я думаю, вам стоит попробовать учиться Adobe AIR. Фактически, он поддерживает все открытые технологии. Я не любой сотрудник Adobe, хотя:) в случае, если вы думаете, что я рекламирую AIR.