Нужно перейти на страничку и передать URI ссылающегося документа, но почему-то referrer нужно передавать в формате nsIURI.
Собственно, как преобразовать строку к типу nsIURI? 

Выделить код

Код:

var loc = String(window. getBrowser (). contentDocument. location. href);
var href = "http://forum.mozilla-russia.org";
loadURI(href, null, loc);
Орец пишет

Собственно, как преобразовать строку к типу nsIURI?

Выделить код

Код:

var uri = makeURI("http://example.com"); // chrome://global/content/contentAreaUtils.js

Infocatcher, спасибо. К типу nsIURI преобразовывает, по крайней мере на alert переменной uri пишет: [xpconnect wrapped nsIURI]

Но вот перехода не происходит :(

Выделить код

Код:

var uri = makeURI('http://forum.mozilla-russia.org');
//var uri = makeURI(String(window. getBrowser (). contentDocument. location. href));
var href = "http://forum.mozilla-russia.org";
loadURI(href, null, uri);
alert(uri);

В чём может быть проблема?

view-source:chrome://browser/content/tabbrowser.xml (без «view-source:» поиск не работает =/)

Выделить код

Код:

<method name="loadURI">
        <parameter name="aURI"/>
        <parameter name="aReferrerURI"/>
        <parameter name="aCharset"/>

Т.е. примерно так:

Выделить код

Код:

var href = "http://forum.ru-board.com/e.pl";
var ref = makeURI(content.location.href);
gBrowser.loadURI(href, ref);

15-12-2008 01:54:18
P.S. Впрочем, наверное, лучше getBrowser() вместо gBrowser:
chrome://browser/content/browser.js

Выделить код

Код:

function getBrowser()
{
  if (!gBrowser)
    gBrowser = document.getElementById("content");
  return gBrowser;
}

15-12-2008 01:59:25
P.P.S. Забавно, а
window.loadURI
тоже есть:

Выделить код

Код:

alert(window.loadURI);

Работает :)
Infocatcher, спасибо. :D