2013-08-15 2 views
2

Так недавно я столкнулся с Webapp в интернет-магазине Chrome под названием Type Fu. Меня поразило то, что они действительно создали истинное хромовое окно.Chromeless window в расширении Chrome?

enter image description here

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

chrome.tabs.create не пригоден вообще.

Было бы безумием, если я не смогу сделать это в расширении, потому что, на мой взгляд, расширение должно иметь больше «власти», чем webapp (веб-страница в основном).

Я не мог нажать Ctrl + Shift + I или даже щелкнуть по нему правой кнопкой мыши. Это просто настоящая родная программа на моем компьютере.

Некоторые кнопки откроют другое плавающее безхромовое окно.

enter image description here

+0

Вы пробовали 'chrome.windows.create ({type:" panel "})'? Или, например, «webapp» означает, что это хостинг (то есть не упакованное) приложение? – apsillers

+0

@ capsillers - Я не знаю, упакован ли он или нет. –

+0

@ capsillers - а также установка 'type'' 'panel' не работает; он все еще имеет хром. (Я пробовал каждый тип, ни один из них не работает) –

ответ

6

... в большинстве частей они используют одни и те же интерфейсы

расширений Chrome, предназначенные для взаимодействия с браузером. Приложения с Chrome-пакетом предназначены для автономной работы и работают независимо от браузера. Их API имеют now widely diverged. Просто взгляните на API listings for apps и the equivalent listing for extensions, и вы увидите, что они совсем разные.

В этом случае Type Fu использует API chrome.app.window, в частности опцию frame: 'none' функции create.

Как следует из названия app.window, оно доступно только для пакетов приложений, а не для продлений. Основанный на расширении метод chrome.windows.createwill eventually support a type: 'panel' option, который обеспечит визуально подобную функциональность (см. Его на рабочем столе Hangouts extension). Это описано в API с примечанием:

«panel» и «detached_panel» типов создать всплывающее окно, если «--enable-panels» флаг не установлен.

В настоящем единственном Hangouts в белом списке, чтобы использовать панели, но обсуждение на Having panel behavior in chrome extension предполагает, что ваше расширение может притвориться Hangouts добавления конкретных key значения манифеста:

"key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDsDApubb73tPfYlNIFxDu3K3/EHgV6/YOJXJkld1OZ20jW/cOht1j0NggnXhQYuu1mXFUufud4I2N7b5ydyg09gcM9Va3Zk17RhNV9smbPHOd4XlzJeXifX/9MgHPu4FzCen3CiSXsOeAELJIXEuT28xICriuUko/rNPwGeIB9VwIDAQAB" 

Впрочем, я Wouldn не полагайтесь на это недокументированное поведение; Google, скорее всего, исправит это, или может сломать что-то еще в будущем.

Пока панели не будут полностью поддерживаться, вы можете начать разработку своего расширения с помощью флага браузера --enable-panel и надеяться, что функция включена по умолчанию после завершения разработки.

+0

Так что в принципе невозможно создать бесхромовое окно ... Они должны были дать нам больше контроля над браузер, чем приложения IMO. В любом случае, спасибо. –

Смежные вопросы