Пример:
Есть два xul файла и один файл java script
в первом кнопка (button) и надпись (label)
во вотором чекбокс  (checkbox)

как сделать чтобы при нажатии во втором файле на checkbox (устанавливаешь галочку checked==true), в первом файле xul label значение value стало "Work!"
p.s. если представить что второй xul файл это диалоговое окно (dialog) вызываемое в первом файле xul при нажатии на кнопку (button), как заставить сохранять значение checkbox.checked ?? после закрытия диалогового окна и повторного открытия checkbox находится в том состоянии что прописан в самом xul файле

Оба этих xul-а становятся частью dom-а браузера.
Соответственно функция, вызываемая в одном, может получить ссылку на другой и использовать её.
Так что можно прописать уникальный идентификатор и получать ссылку через getElementById, например.

Другой вариант - ловить (а мб и бросать самому) события и обрабатывать их.

есть тулбар я не открывал еще второй документ с диалогом, пытаюсь обратиться к чекбоксу который в диалоге что бы проверить его checked но пишет что undefined
т.е. его можно увидеть только если открыть диалоговое окно и там вызывать функции java script, но незя записать значение checkbox.checked и потом к ней обратиться вызывая функции из первого xul документа
как бы для каждого xul документа создаются свои java script переменные окружения
з.ы. какими способами реализовать видимость?

Значит надо при открытии тулбара проверять состояние связанных компонент.
Ну или как-то централизованно его хранить.
Для последнего в 2-ке не так много вариантов - например можно хранить его в свойствах.
Вот в 3-ке и синглетоны появились, и прочие фичи.

16-02-2009 22:56:32
mozdev

какими способами реализовать видимость?

Мне вот когда-то классную ссылку подсказали:

Anton пишет

как сделать действительно глобальную переменную
Это здесь: http://developer.mozilla.org/en/docs/Working_with_windows_in_chrome_code#Advanced_data_sharing

Forest пишет

Значит надо при открытии тулбара проверять состояние связанных компонент.
Ну или как-то централизованно его хранить.
Для последнего в 2-ке не так много вариантов - например можно хранить его в свойствах.
Вот в 3-ке и синглетоны появились, и прочие фичи.

16-02-2009 22:56:32
mozdev

какими способами реализовать видимость?

Мне вот когда-то классную ссылку подсказали:

Anton пишет

как сделать действительно глобальную переменную
Это здесь: http://developer.mozilla.org/en/docs/Working_with_windows_in_chrome_code#Advanced_data_sharing

да мне уже давал эту ссылочку один хороший человек =) но я не разобрался, даже может и разобрался но честно лениво))).. просто все тот же человек говорил-предлогал более короткий способ чем написание своего xpcom компонента
т.е. есть готовый xpcom компонент с помощью которого можно обратиться к любому обьекту не зависимо где находишься) хочется более изящного и простого способо... если уж совсем никак буду писать в файл все настройки и читать))))
p.s. может кто поможет и желательно с работающим примером... спасибо

mozdev

если уж совсем никак буду писать в файл все настройки и читать))))

Имхо самое простое - работать со свойствами (это которые в about:config).
Поищи по этой ссылке "Storing shared data in preferences".
Если не найдёшь код по работе с preferences - пиши (хотя там же есть и пример и ссылка на Code snippets:Preferences).
Только имя для свойства лучше делать уникальное - через guid расширения.