Какие лайтбоксы работают внутри расширений Firefox? - PullRequest
1 голос
/ 09 марта 2009

Я хочу использовать лайтбокс, такой как Shadowbox или аналогичный, внутри расширения Firefox. Но Shadowbox вызывает ошибки Javascript, такие как:

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

Какой лайтбокс поддерживает IFRAME и будет правильно работать внутри расширения (т. Е. Добавлено в XUL наложения)?

Ответы [ 2 ]

2 голосов
/ 01 апреля 2009

Какую функцию вы ищете?

Это то, что вы можете всплывать "оверлеи" над контентом? Эквивалент XUL накладок - это панели. Вы также можете легко добавить iframe в XUL, используя пространство имен HTML. Хотя я бы не рекомендовал это делать, но вместо этого использую простой JavaScript для изменения содержимого панели.

Вы также можете попробовать со стеком. Вот небольшой пример:

<?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 голосов
/ 09 марта 2009

Вполне возможно, нет. Лайтбоксы предназначены для работы с (X) HTML, а не с XUL.

...