如何在当前窗口中打开url而不是在XUL中打开新窗口?

时间:2014-07-05 08:14:22

标签: javascript html xul

我希望xul窗口 始终 在当前窗口中加载页面而不是新窗口

我在同一目录中有3个文件,main.xul

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>

<window xmlns:html="http://www.w3.org/1999/xhtml"
        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

<browser type="content" src="page_a.html" width="100%" height="100%" />

</window>


page_a.html

<html>
<body>
<a href="page_b.html" 
     target="_blank" >I'm page a, click to navigate to page_b.html</a>
</body>
</html>


page_b.html

<html>
<body>
<a href="page_a.html"
     target="_blank" >I'm page b, click to navigate to page_a.html</a>
</body>
</html>


  • 当我使用xulrunner运行xul并单击链接时,整个
    窗口消失了

  • 但我想在当前窗口中加载目标页面“page_b.html”,

  • 我同时尝试了<browser><iframe>两种做法 工作。

  • 只要它尝试打开一个新窗口,窗口就会消失 加载目标网页。

  • 如果我将target="_blank"替换为target="_self",代码就会运行 成功。

    但问题是如果我加载包含的远程页面 target="_blank"并不是我写的,例如 http://www.google.com/


 那么如何 总是 在当前窗口加载页面尽管属性    <a>元素?

祝你。

1 个答案:

答案 0 :(得分:0)

您需要implement nsIBrowserDOMWindowset it to the window

openURI实施中,您然后在.loadURIWithFlags上致电<browser>(与browser.js中的关联实施进行比较)。