2009-06-29 7 views
2

Je développe actuellement une extension Firefox. Dans l'extension de Firefox, vous pouvez afficher une fenêtre en appelant window.open et en spécifiant le fichier XUL pour cette fenêtre. Vous pouvez en faire un dialogue et/ou un modal. Mais il n'y a aucun moyen de rendre la fenêtre sans cadre (pas de barre de titre et de bordure de fenêtre) et je comprends cela. En outre, il n'est pas possible de rendre le corps de la fenêtre transparent (mais pas les contrôles à l'intérieur), Aussi je comprends pourquoi.écrire une extension Firefox pour afficher une fenêtre sans cadre/transparente

Je sais qu'il y a un travail autour de faire une fenêtre transparente d'une manière non standard. Mais cela ne supprime pas le cadre de la fenêtre. Ce que je voudrais demander, c'est s'il y a quelqu'un là-bas qui connaît un moyen de réaliser une telle chose, fenêtre sans cadre et transparente. Ou peut-être au moins était capable de réaliser une fenêtre sans cadre. Je serais heureux d'avoir des suggestions même si elles ne sont pas la solution parfaite.

Merci.

Edit:

La fenêtre transparente ou sans cadre doit être basé sur l'interface graphique de Firefox, et non basé sur le code HTML de la page (par exemple je ne cherche pas à modifier le code HTML de la page pour afficher une fenêtre avec javascript qui fait partie du document HTML). Toute solution qui n'est pas basée sur le code HTML de la page en cours est acceptée.

Répondre

0

Le problème est que cela ne fonctionne pas de la même manière sur toutes les plates-formes. Les décorations de fenêtres et la transparence sont contrôlées par le gestionnaire de fenêtres, et doivent être faites différemment pour Windows, Linux et Mac. Probablement même pour chaque version et service pack.

Vous devrez inclure des bibliothèques spécifiques à la plate-forme pour votre extension et obtenir le contrôle sur la fenêtre que vous souhaitez rendre transparente. Le code qui rend alors la fenêtre transparente n'est pas lié à Firefox et devrait probablement être discuté dans une autre question.

2

Vous ne pourrez pas accomplir cela avec Windows. Vous pouvez, cependant, accomplir ce que vous voulez avec un xul:panel element. Vous pouvez utiliser le CSS standard pour le rendre transparent, et contrôler où il s'ouvre. Pour plus de détails sur les panneaux, voir the popup guide for them.

+0

J'ai utilisé cette méthode avec succès. Un avertissement: sous Windows, vous devez définir l'attribut CSS de bordure du panneau sur "none". –

Questions connexes