Полезная информация

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.

№115-12-2008 00:00:10

Орец
Участник
 
Группа: Members
Зарегистрирован: 18-08-2006
Сообщений: 84
UA: Firefox 3.0

Преведение переменной к типу nsIURI для функции loadURI

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

Выделить код

Код:

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

Отсутствует

 

№215-12-2008 00:03:01

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 3.0

Re: Преведение переменной к типу nsIURI для функции loadURI

Орец пишет

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

Выделить код

Код:

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

Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№315-12-2008 01:06:40

Орец
Участник
 
Группа: Members
Зарегистрирован: 18-08-2006
Сообщений: 84
UA: Firefox 3.0

Re: Преведение переменной к типу nsIURI для функции loadURI

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);

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

Отсутствует

 

№415-12-2008 01:50:25

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 3.0

Re: Преведение переменной к типу nsIURI для функции loadURI

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 (15-12-2008 01:54:40)


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№515-12-2008 09:59:01

Орец
Участник
 
Группа: Members
Зарегистрирован: 18-08-2006
Сообщений: 84
UA: Firefox 3.0

Re: Преведение переменной к типу nsIURI для функции loadURI

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

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]