在新的浏览器窗口中打开 .xul 链接



我安装了一个名为FireSSH的FF扩展,它基本上是Firefox中的一个终端。当它运行时,地址栏中的URL是 chrome://firessh/content/firessh.xul - 我想在将打开FireSSH的网页上创建一个链接,但到目前为止所有诱惑都失败了,例如我已经尝试过:

<script>
function myFunction()
{
window.open("chrome://firessh/content/firessh.xul");
}
</script>
<a href="#" onclick="myFunction()">firessh></a>

以及:

<a href="gBrowser.addTab("chrome://firessh/content/firessh.xul#account=Russell");">firessh</a>

简单地说:

<a href="chrome://firessh/content/firessh.xul#account=Russel">firessh</a>

任何帮助表示赞赏。

二.

收听所有页面,当您找到感兴趣的页面时,从您的插件中做,

var link = gBrowser.contentDocument.querySelector('#myLink');
link.addEventListener('click',openXulWindow,false);
//this openXulWindow opens a regular browser window
    function openXulWindow() {
    var sa = Cc["@mozilla.org/supports-array;1"].createInstance(Ci.nsISupportsArray);
    var wuri = Cc["@mozilla.org/supports-string;1"].createInstance(Ci.nsISupportsString);
    wuri.data = 'http://www.bing.com/';
    let aCharset = 'UTF-8';
    let charset = Cc["@mozilla.org/supports-string;1"].createInstance(Ci.nsISupportsString);
    charset.data = "charset=" + aCharset;
    var aAllowThirdPartyFixup = false;
    var allowThirdPartyFixupSupports = Cc["@mozilla.org/supports-PRBool;1"].createInstance(Ci.nsISupportsPRBool);
    allowThirdPartyFixupSupports.data = aAllowThirdPartyFixup;
    sa.AppendElement(wuri);
    sa.AppendElement(charset);
    sa.AppendElement(allowThirdPartyFixupSupports);
    let features = "chrome,dialog=no,all";
    if (PrivateBrowsingUtils.permanentPrivateBrowsing) {
       features += ",private";
    } else {
       features += ",non-private";
    }
    Services.ww.openWindow(null, 'chrome://browser/content/browser.xul', null, features, sa);
    }
出于

安全考虑,不允许Web内容访问,链接和/或编写chrome:内容脚本。 chrome:以更高的安全级别运行,允许 Web 内容不受限制地调用chrome:本质上是一个权限升级漏洞。

最新更新