mozdev > 16-02-2009 18:47:12 |
Пример: Есть два xul файла и один файл java script в первом кнопка (button) и надпись (label) во вотором чекбокс (checkbox) как сделать чтобы при нажатии во втором файле на checkbox (устанавливаешь галочку checked==true), в первом файле xul label значение value стало "Work!" p.s. если представить что второй xul файл это диалоговое окно (dialog) вызываемое в первом файле xul при нажатии на кнопку (button), как заставить сохранять значение checkbox.checked ?? после закрытия диалогового окна и повторного открытия checkbox находится в том состоянии что прописан в самом xul файле |
Forest > 16-02-2009 19:11:52 |
Оба этих xul-а становятся частью dom-а браузера. Соответственно функция, вызываемая в одном, может получить ссылку на другой и использовать её. Так что можно прописать уникальный идентификатор и получать ссылку через getElementById, например. Другой вариант - ловить (а мб и бросать самому) события и обрабатывать их. |
mozdev > 16-02-2009 19:17:57 |
есть тулбар я не открывал еще второй документ с диалогом, пытаюсь обратиться к чекбоксу который в диалоге что бы проверить его checked но пишет что undefined т.е. его можно увидеть только если открыть диалоговое окно и там вызывать функции java script, но незя записать значение checkbox.checked и потом к ней обратиться вызывая функции из первого xul документа как бы для каждого xul документа создаются свои java script переменные окружения з.ы. какими способами реализовать видимость? |
Forest > 16-02-2009 22:50:15 |
Значит надо при открытии тулбара проверять состояние связанных компонент. Ну или как-то централизованно его хранить. Для последнего в 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
|
mozdev > 17-02-2009 00:35:01 |
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. может кто поможет и желательно с работающим примером... спасибо |
Forest > 17-02-2009 00:54:13 |
mozdev если уж совсем никак буду писать в файл все настройки и читать))))
Имхо самое простое - работать со свойствами (это которые в about:config). Поищи по этой ссылке "Storing shared data in preferences". Если не найдёшь код по работе с preferences - пиши (хотя там же есть и пример и ссылка на Code snippets:Preferences). Только имя для свойства лучше делать уникальное - через guid расширения. |