XUL iframe firefox插件,如何在iframe中更改src?

时间:2015-06-17 14:24:27

标签: javascript firefox iframe firefox-addon xul

我正在开发一个firefox插件,

在我的设置页面dialog.xul我有一个iframe,我加载了不同的设置页面page1.xul page2.xul page3.xul

iframe:

<vbox flex="1">
  <iframe
      id="iframe"
      src="chrome://xxx/content/page1.xul"
      flex="1"></iframe>
</vbox>

在iframe 中,我需要从page2.xul导航到page3.xul 使用page2.xul中的代码

我的代码(page2.xul):

gBrowser.loadURI("chrome://xxx/content/page3.xul");

也试过

 document.getElementById("iframe").setAttribute("src", "chrome://xxx/content/page3.xul");

但它不起作用我知道iframe容器无法从iframe访问,但我该如何进行重定向?

2 个答案:

答案 0 :(得分:1)

使用XUL中的iframe,您必须使用HTML命名空间创建iframe,否则加载事件等内容无法正常工作,请参阅以下主题:http://forums.mozillazine.org/viewtopic.php?f=19&t=2809781&hilit=+iframe

一旦你这样做,改变src等应该按预期工作。

答案 1 :(得分:1)

解决方案:

我设法处理主XUL中的代码

显然XUL不支持结构

[XUL1 >> iframe(XUL2 : change something in XUL1)]

出于安全原因,经典HTML + Javascript不支持此结构 在XUL中也是如此