我正在尝试为将要播放在线广播的Firefox创建插件。我需要用无线电播放器显示一个iframe。
当我将它直接放入XUL文档时,一切都很好。 iframe已加载并显示:
<iframe src="http://player.radiocafe.centrum.cz/back90s/" width="300" height="400" />
但是当我尝试将其放入弹出窗口时,iframe被加载(它需要空间,收音机正在播放,我可以通过JavaScript操纵iframe等),但它的内容不显示:
<toolbarbutton label="Radio test" class="ch-styled" popup="ch-radioTest" />
<panel id="ch-radioTest" position="after_start">
<iframe src="http://player.radiocafe.centrum.cz/back90s/" width="300" height="400" />
</panel>
知道我做错了什么吗?它甚至可能吗?如果没有,为什么?
谢谢。
答案 0 :(得分:0)
实际上,框架显示正常 - 如果你把它扩大,你会看到正在显示的网页。仅仅是无线电播放器(它是一个Flash对象)是不可见的。这看起来像一个平台限制/错误 - 我猜Gecko无法正确确定插件应该绘制的区域。您可以在Bugzilla上提交有关该问题的错误,但我认为这个机会相当渺茫。您更有可能必须为此找到解决方法(例如使用无边框对话窗口而不是面板)。
侧面说明:
type="content"
属性。否则,您可以访问浏览器的chrome,在该框架内已经有类似top.location = "http://google.com/"
的代码,这将是致命的。src
属性,并在关闭时再次将其删除。由于框架位于浏览器窗口内部,因此它将在首次显示时加载 - 并且在浏览器窗口关闭之前不会卸载。因此即使面板已经关闭,音乐也会继续播放。