2013-08-15 4 views
2

J'ai récemment rencontré une application Web sur Chrome Web Store appelée Type Fu. Ce qui m'a étonné, c'est qu'ils ont créé une véritable fenêtre sans chrome.Fenêtre sans chrome dans l'extension Chrome?

enter image description here

Je pense que je peux le faire dans une extension Chrome parce que dans la plupart des régions qu'ils utilisent les mêmes API. Cependant, je ne trouve rien qui me permette de faire cet effet.

chrome.tabs.create n'est pas utile du tout.

Ce serait une folie si je ne peux pas le faire dans une extension parce qu'à mon avis, une extension devrait avoir plus de "puissance" qu'une application Web (une page Web essentiellement).

Je ne pouvais pas appuyer sur Ctrl + Maj + I ou même faire un clic droit dessus. C'est comme un vrai programme natif sur mon ordinateur.

Certains boutons ouvrent une autre fenêtre flottante sans chrome.

enter image description here

+0

Avez-vous essayé 'chrome.windows.create ({type:" panel "})'? Ou par "webapp" voulez-vous dire qu'il s'agit d'une application hébergée (c'est-à-dire non emballée)? – apsillers

+0

@apsillers - Je ne sais pas si c'est emballé ou non. –

+0

@apsillers - Et le réglage de 'type' à' panel' ne fonctionne pas non plus; il a toujours le chrome. (J'ai essayé tous les types, aucun d'entre eux ne fonctionnent) –

Répondre

6

... dans la plupart des régions, ils utilisent les mêmes API

extensions Chrome sont conçus pour interagir avec le navigateur. Les applications packagées Chrome sont conçues pour être autonomes et fonctionner indépendamment du navigateur. Leurs API ont now widely diverged. Jetez un coup d'oeil aux API listings for apps et the equivalent listing for extensions, et vous verrez qu'ils sont assez différents. Dans ce cas, le Type Fu utilise l'API chrome.app.window, en particulier l'option frame: 'none' de la fonction create.

Comme le suggère le nom de app.window, il n'est disponible que pour les packages apps, pas les extensions. La chrome.windows.create méthode basée sur l'extension will eventually support a type: 'panel' option qui fournira des fonctionnalités similaires visuellement (voir au travail dans de Google). Il est décrit dans l'API avec une note:

Les types « panel » et « » detached_panel créer une fenêtre contextuelle, sauf si le drapeau est réglé « --enable-panels ».

Actuellement seulement Hangouts est la liste blanche d'utiliser des panneaux, mais la discussion à Having panel behavior in chrome extension suggère que votre extension peut prétendre être Hangouts en ajoutant une valeur key spécifique à votre manifeste:

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

Cependant, je wouldn ne comptez pas sur ce comportement non documenté; Google est susceptible de le réparer, ou il peut casser quelque chose d'autre à l'avenir. Jusqu'à ce que les panneaux soient entièrement pris en charge, vous pouvez commencer à développer votre extension avec l'indicateur de navigateur --enable-panel et espérer que la fonctionnalité est activée par défaut une fois que vous avez terminé le développement.

+0

Donc, fondamentalement, il n'est pas possible de créer une fenêtre sans chrome ... Ils auraient dû nous donner plus de contrôle sur le navigateur que les applications IMO. Quoi qu'il en soit, merci. –

Questions connexes