我希望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>
元素?
祝你。
答案 0 :(得分:0)
您需要implement nsIBrowserDOMWindow
和set it to the window。
在openURI
实施中,您然后在.loadURIWithFlags
上致电<browser>
(与browser.js
中的关联实施进行比较)。