Browser 如何动态设置";src";用于浏览器或iframe元素(Firefox扩展)

Browser 如何动态设置";src";用于浏览器或iframe元素(Firefox扩展),browser,iframe,firefox-addon,xul,src,Browser,Iframe,Firefox Addon,Xul,Src,我正在尝试创建一个使用flex应用程序的Firefox扩展。我试着用XUL类型(和)来包装它,但我不喜欢使用哪种类型。。。不管哪个有效 问题是,每当我使用相对路径(通过chrome://或mySWF.html访问)时,flash都无法加载 我有一个搜索绝对路径的方法(如下所示),但我一辈子都想不出一个方法来动态更改iframe或浏览器的src <script type="text/javascript"> function loadSWF() { alert("loadSWF

我正在尝试创建一个使用flex应用程序的Firefox扩展。我试着用XUL类型(和)来包装它,但我不喜欢使用哪种类型。。。不管哪个有效

问题是,每当我使用相对路径(通过chrome://或mySWF.html访问)时,flash都无法加载

我有一个搜索绝对路径的方法(如下所示),但我一辈子都想不出一个方法来动态更改iframe或浏览器的src

 <script type="text/javascript">
 function loadSWF() {
  alert("loadSWF!");
  var fullPath = "file:///" + extensionPath.path.replace(/\\/g,"/") +  "/chrome/content/HelloWorld.html";
  top.document.getElementById('AppFrame').setAttribute("src",fullPath);
 }
 </script>

函数loadSWF(){
警报(“loadSWF!”);
var fullPath=“file:///”+extensionPath.path.replace(/\\\/g,“/”+“/chrome/content/HelloWorld.html”;
top.document.getElementById('AppFrame').setAttribute(“src”,完整路径);
}
下面是我调用flex应用程序的两种方法:

 <iframe
  type="content"
  src=??????
  flex="1"
  id="AppFrame"
  name="AppFrame"
  onLoad="loadSWF();"/>

 <browser 
  id="browserid"
  type="content"
  src=??????
  flex="1"/>

如何调用函数来设置src属性?

1)动态设置
src
效果良好(请参见下面的测试用例)

2) 而不是试图用手转换

3)
onLoad=“loadSWF();”
如果您的iframe可疑,您应该发布完整的XUL代码,以显示它是如何组合在一起的。您不应该从iframe的加载处理程序调用loadSWF,而应该从XUL文档的加载处理程序或关闭另一个事件调用loadSWF

#1的测试用例:


听起来您可能没有正确设置chrome清单。
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window id="yourwindow" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:html="http://www.w3.org/1999/xhtml">
<script type="text/javascript">
<![CDATA[
function f() {
 document.getElementById("z").setAttribute("src", "http://google.com/")
}
]]>
</script>
<iframe type="content" id="z"/>
<button onclick="f()"/>
</window>