我想在 Firefox 扩展中使用像Shadowbox或类似的灯箱。但是 Shadowbox 会导致这样的 Javascript 错误:
Error: document.write is not a function
Source file: chrome://iframe/content/shadowbox/shadowbox.js
Line: 1557
哪个灯箱支持 IFRAME 并且可以在扩展中正确运行(即添加到覆盖 XUL)?
我想在 Firefox 扩展中使用像Shadowbox或类似的灯箱。但是 Shadowbox 会导致这样的 Javascript 错误:
Error: document.write is not a function
Source file: chrome://iframe/content/shadowbox/shadowbox.js
Line: 1557
哪个灯箱支持 IFRAME 并且可以在扩展中正确运行(即添加到覆盖 XUL)?
您在寻找哪种功能?
您是否可以在内容上弹出“叠加层”?覆盖层的 XUL 等效物是面板。您还可以使用 HTML 命名空间轻松地将 iframe 添加到 XUL。不过我不推荐它,而是使用一些简单的 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>
很可能没有。灯箱适用于 (X)HTML,而不是 XUL。