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

Mozilla Россия — свежие версии программ Mozilla, а также масса полезной информации по каждому продукту.

№116-02-2009 18:47:12

mozdev
Участник
 
Группа: Members
Зарегистрирован: 16-02-2009
Сообщений: 8
UA: Firefox 3.0

Глобальные переменные или видимость от всюду...

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

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

Отсутствует

 

№216-02-2009 19:11:52

Forest
Участник
 
Группа: Members
Откуда: Обнинск
Зарегистрирован: 05-04-2005
Сообщений: 1778
UA: Firefox 3.0

Re: Глобальные переменные или видимость от всюду...

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

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


---  ---

Отсутствует

 

№316-02-2009 19:17:57

mozdev
Участник
 
Группа: Members
Зарегистрирован: 16-02-2009
Сообщений: 8
UA: Firefox 3.0

Re: Глобальные переменные или видимость от всюду...

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

Отредактировано mozdev (16-02-2009 20:42:38)

Отсутствует

 

№416-02-2009 22:50:15

Forest
Участник
 
Группа: Members
Откуда: Обнинск
Зарегистрирован: 05-04-2005
Сообщений: 1778
UA: Firefox 3.0

Re: Глобальные переменные или видимость от всюду...

Значит надо при открытии тулбара проверять состояние связанных компонент.
Ну или как-то централизованно его хранить.
Для последнего в 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


---  ---

Отсутствует

 

№517-02-2009 00:35:01

mozdev
Участник
 
Группа: Members
Зарегистрирован: 16-02-2009
Сообщений: 8
UA: Firefox 3.0

Re: Глобальные переменные или видимость от всюду...

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 (17-02-2009 00:44:12)

Отсутствует

 

№617-02-2009 00:54:13

Forest
Участник
 
Группа: Members
Откуда: Обнинск
Зарегистрирован: 05-04-2005
Сообщений: 1778
UA: Firefox 3.0

Re: Глобальные переменные или видимость от всюду...

mozdev

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

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


---  ---

Отсутствует

 

Board footer

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