Примечание: речь идет о расширении Firefox, а не об общем вопросе js.
В проекте расширения Firefox мне нужно, чтобы мой объект javascript инициализировался только один раз заОкно Firefox.В противном случае каждый раз, когда я открываю свое окно, будут задействованы новые таймеры, будут использоваться новые свойства, поэтому все будет начинаться с нуля.
Надеюсь, приведенный ниже пример прояснит мой вопрос:)
var StupidExtension
{
statusBarValue: "Not Initialized Yet",
startup: function ()
{
...
// Show statusBarValue in Status Bar Panel
},
initTimerToRetrieveStatusBarValueFromNetwork: function ()
{
...
}
}
таким образом, каждый раз, когда вы нажимаете Ctrl + N в новом окне, вы увидите «Пока не инициализировано», а затем будет запущен новый таймер, поэтому через некоторое время при получении данных из сети вы увидите значение также во втором окне и так далее.В идеале было бы необходимо запустить только одну функцию таймера и обновить все панели строки состояния во всех окнах Firefox.
Конечно, я могу выполнить некоторое кэширование, например сохранить значение в prefs или каком-либо другом хранилище, а затем показать егооттуда.Но я чувствую, что это искусственно.
Таким образом, вопрос будет в том, есть ли «нативный» метод создания статических некоторых частей объекта среди всех оконных окон Firefox?