Xpoint
   [напомнить пароль]

Передача в дочернее окно JS-объекта

Метки: [без меток]
2007-01-30 19:51:41 [обр] dv[досье]
Доброго времени суток.
Возникла необходимость в Firefox`e открыть окно и передать в него JS-объект (например: {test: "test"}). Хочется ловить его в момент события onload в массиве window.arguments. Знаю, что можно этого не делать и спросить opener.myObject. Но. Хочется именно передавать объект как аргумент. Посмотрел возможности WindowWatcher`a. У него есть метод openWindow, в который последним параметром подается аргумент. Но этот аргумент должен быть экземпляром класса, унаследованного от nsISupports. Мой же объект существует сам по себе, ни от кого не унаследован и просто хранит в себе кучу данных.
Подскажите, если знаете, в какую сторону мне посмотреть, чтобы сделать задуманное.
А может есть и другие варианты?
спустя 3 часа 4 минуты [обр] Владимир Палант(434/4445)[досье]

Этот параметр принимает nsIArray с элементами типа nsIVariant. Использовать его из JavaScript вы не сможете. Пользуйтесь обычным window.openDialog(). Если окна под рукой нет, то воспользуйтесь nsIWindowMediator, чтобы найти какое-нибудь открытое окно, и вызвать у него метод openDialog.

@Модератор: Это ближе к разделу Программирование::XUL.

спустя 13 минут [обр] Алексей В. Иванов(8/2861)[досье]
М Перенесено из форума "Программирование::JavaScript::Особенности браузеров"
спустя 13 часов [обр] dv[досье]
Спасибо, я тоже об этом думал. Но как обойти ошибку системы безопасности? Код работает не из chrome. При вызове возникает NS_ERROR_DOM_SECURITY_ERR. Установка привилегий меня не спасла.
спустя 50 минут [обр] Владимир Палант(434/4445)[досье]
Тогда никак, openDialog можно вызывать только с chrome://. Боюсь, что вам все-таки придется пользоваться opener.
Powered by POEM™ Engine Copyright © 2002-2005