Привет всем!

Я, вроятно, чего-то пропустил. У мня есть XUL окно, которое я открываю в Firefox путём навигации к локальному файлу:

Выделить код

Код:

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

<window id="TestApp-MainWindow"
 title="Test Application"
 xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
 xmlns:html="http://www.w3.org/1999/xhtml"
 style="background-color:blue;"
 align="start">

<button label="Test" onclick="alert(window.id);"/>

</window>

Почему, когда я кликаю кнопку я не могу получить свойства окна?

Выделить код

Код:

onclick="alert(window.id);"

даёт 'undefined'

Выделить код

Код:

onclick="alert(document.defaultView.id);"

даёт 'undefined'

Выделить код

Код:

onclick="alert(document.getElementById('TestApp-MainWindow').id);"

даёт 'TestApp-MainWindow'

Выделить код

Код:

onclick="alert(document.getElementById('TestApp-MainWindow').title);"

даёт 'undefined'

Где порылась собака?

Спасибо.

Сказав 'window', вы обращаетесь, грубо говоря, к окну браузера, который отображает ваш XUL-файл.
Добираться до свойств того <window>, которое  внутри XUL-файла, придётся примерно так:

Выделить код

Код:

document.getElementById('TestApp-MainWindow').getAttribute('title')

Привет, luitzen!
Спасибо за ответ. Теперь понятно: атрибуты объекта нельзя получать также как его свойства.
Посто из любопытства, непонятно всё-таки чему соответствует объект 'window'. Это ведь не gBrowser. У последнего есть title, а когда я вызываю:

Выделить код

Код:

alert(window.getAttribute('title'));

браузер мне выдаёт: "Error: window.getAttribute is not a function".
Или например когда я вызываю:

Выделить код

Код:

alert(window.width);

я получаю "undefined".
То же самое получается когда вызываю:

Выделить код

Код:

alert(document.defaultView.width);

Можно ли это как-нибудь узнать?

Выделить код

Код:

window.opener.getBrowser

получаю доступ к браузеру из своего приложения может это имеете в виду