2009-03-09 12 views
1

Je veux utiliser une lightbox comme Shadowbox ou similaire dans une extension Firefox. Mais Shadowbox provoque des erreurs Javascript comme ceci:Quelles lightboxes fonctionnent dans les extensions de Firefox?

Error: document.write is not a function 
Source file: chrome://iframe/content/shadowbox/shadowbox.js 
Line: 1557 

qui prend en charge la visionneuse IFRAME et fonctionner correctement dans une extension (par exemple ajouté à la superposition XUL.)?

+0

Ce qui a incité une réponse qui m'a aidé, même si je ne suis pas sûr de ce que nous parlons même –

Répondre

0

Très probablement aucun. Lightboxes sont destinés à travailler avec (X) HTML, pas XUL.

2

Quel type de caractéristique recherchez-vous?

Est-ce que vous pouvez faire apparaître des "superpositions" sur le contenu? L'équivélant XUL des superpositions sont des panneaux. Vous pouvez également ajouter facilement une iframe à XUL en utilisant l'espace de noms HTML. Je ne le recommanderais pas, mais utiliser un simple javascript pour changer le contenu du panneau à la place.

Vous pouvez également essayer avec pile. Voici un petit exemple:

<?xml version="1.0"?> 
<!DOCTYPE window PUBLIC "-//MOZILLA//DTD XUL V1.0//EN" "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> 
<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?> 
<window id="test" 
     title="test" 
     xmlns:html="http://www.w3.org/1999/xhtml" 
     xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" 
     xmlns:svg="http://www.w3.org/2000/svg"> 
    <stack> 
     <hbox> 
      <vbox> 
       <hbox> 
        <label value="123"/> 
       </hbox> 
       <hbox> 
        <label value="456"/> 
       </hbox> 
       <html:iframe style="width: 800px; height: 400px;" src="http://www.google.com"/> 
      </vbox> 
     </hbox> 
     <vbox style="position: absolute;opacity: 0.5;"> 
      <html:iframe style="position: absolute; top: 100px; left: 100px; width: 500px;" src="http://www.google.com"/> 
     </vbox> 
    </stack> 
</window> 
+0

:) Je suis en train de mettre un IFRAME dans un panneau. Mais j'ai trouvé que la transparence ne marchait pas. J'ai donc pensé mettre un IFRAME sur un panneau (opaque) et avoir une image de bordure sur un panneau transparent séparé. Mais ensuite j'ai trouvé que le panneau avait toujours une ombre. Lightboxes semblait une alternative si l'on travaillait dans XUL. – Mat

+0

Les panneaux sont encore un peu différents et la transparence n'est pas toujours fiable. Ils sont un moyen de représenter les menus, etc. Ce que vous pouvez faire est peut-être d'essayer d'utiliser une pile et de placer votre "popup" comme un html normal à l'intérieur de cette iframe. Je ne sais pas si ça va marcher, mais ça vaut le coup d'essayer. – lithorus

+0

Juste fait un petit test et cela semble fonctionner. Mettra à jour ma réponse pour vous montrer la source. – lithorus