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

Общайтесь со знакомыми и друзьями в нашем сообществе в Facebook.

№119-12-2009 04:37:28

alrond
Участник
 
Группа: Extensions
Зарегистрирован: 09-11-2004
Сообщений: 59
UA: Shiretoko 3.5
Веб-сайт

Сохранение массива в памяти при открытии нового окна

http://forum.mozilla-russia.org/viewtop … 48#p401348
В аддоне WorldIP я использую кеширование результатов через обычный ассоциативный массив.
Поэтому для одного и того же сайта не запрашивается информация дважды.
это отлично работает с вкладками, но если открывается новое окно, то создается новый объект яваскрипта и конечно все данные остаются в старом окне.
Какие могут быть идеи для организации общих переменных для всех окон?
Думал через преференсы, но как-то некошерно это: данных может много накопиться, да и идея дергать set+get туда-сюда постоянно мне что-то не нравится

Отсутствует

 

№219-12-2009 06:40:22

zibloid
Участник
 
Группа: Members
Зарегистрирован: 22-08-2009
Сообщений: 16
UA: Foxware 0.0

Re: Сохранение массива в памяти при открытии нового окна

alrond, может window.opener как то пригадится:
https://developer.mozilla.org/en/DOM/window.opener

Отсутствует

 

№319-12-2009 08:24:49

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 3.5
Веб-сайт

Re: Сохранение массива в памяти при открытии нового окна

alrond
Для совместного использования одного объекта несколькими окнами можно воспользоваться JavaScript_code_modules


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№419-12-2009 10:38:20

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

Re: Сохранение массива в памяти при открытии нового окна

alrond

alrond пишет

Думал через преференсы, но как-то некошерно это: данных может много накопиться, да и идея дергать set+get туда-сюда постоянно мне что-то не нравится

Ну если нужна совместимость со старыми версиями (той же 2-кой), то вариантов особых нет.
А чтобы не дёргать постоянно, можно например завести флаг типа даты последнего изменения. Тогда надо будет часто дёргать только её, ну а всё уже если реально что-то поменялось.
Но конечно с синхронностью могут быть проблемы.
А вообще была статья на оффсайте про это, но вот что-то не могу найти :(


---  ---

Отсутствует

 

№519-12-2009 11:26:23

alrond
Участник
 
Группа: Extensions
Зарегистрирован: 09-11-2004
Сообщений: 59
UA: Shiretoko 3.5
Веб-сайт

Re: Сохранение массива в памяти при открытии нового окна

Спасибо за варианты, посмотрю что можно использовать из этого

Forest пишет

Ну если нужна совместимость со старыми версиями (той же 2-кой), то вариантов особых нет

Не, не нужна, я решил избавляться от балласта. Судя по статистике мозиллы(они такую там недавно ввели в админке), аддоном мало кто пользуется с версией меньше тройки. А я там начал как раз JSON использовать..так что ну их нафиг :)

Отсутствует

 

№619-12-2009 18:42:38

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 3.5

Re: Сохранение массива в памяти при открытии нового окна

alrond
https://developer.mozilla.org/En/Workin … ta_sharing
Пожалуй, проще всего – Application.storage.set/Application.storage.has/Application.storage.get

В принципе, для совместимости со старыми версиями можно хранить данные в hiddenWindow/hiddenDOMWindow (раньше об этом было написано в мануале про advanced data sharing с пометкой, что так лучше не делать – мол, хак и в будущих версиях может перестать работать – уберут).


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№720-12-2009 14:33:40

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

Re: Сохранение массива в памяти при открытии нового окна

Infocatcher
Да, именно её я и искал:)


---  ---

Отсутствует

 

Board footer

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