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

Удержание всех открываемых документов внутри элемента <browser>

2003-11-28 09:59:57 [обр] Сергей Чернышев [досье]

Проблема эта встала не только передо мной, но такая же проблема уже поднималась в ru_mozdev@lj (прочитайте это обсуждение - там кое-что обсуждалось)

Проблема в том, что необходимо заставить Mozill-у открывать все окна внутри элемента <browser> (или на самый худой конец <iframe>).

Тоесть, если на страничке загруженной внутри тэга <browser> нажать на ссылку типа <a href="someurl" target="_top"> - она заменит собой приложение целиком вместо того чтобы загрузиться внутри этого самого <browser>.

Тоже самое касается всяческих JavaScript-овых открываний окон и т.д.

В принципе, для имеющейся у меня сейчас задачи будет достаточно если мое приложение останется на месте - пусть даже target="_blank" открываются в новых окнах, но в принципе, вопрос глобален.

Один из вариантов - пытаться реализовывать приложение в качестве сайдбаров, тулбаров и т.д. оставляя основную часть браузера в покое и ничего туда не загружая - это кое-как мне подойдет в данном случае, но опять же не решает вопрос глобально.

Буду рад если кто-нибудь поделится собственными мыслями или хотя бы укажет мне на какие-то обсуждения по этой теме.

спустя 4 часа 44 минуты [обр] Андрей Новиков [досье]
Tabbrowser Extentions как то подавляет _blank и gjgfgs (не вообще, а именно в отдельном окне). Может в его коде покапаться?
спустя 2 часа 10 минут [обр] Сергей Чернышев [досье]
Андрей Новиков[досье]
В принципе, Multizilla много чего делает, но все это делается переопределением функции [[http://lxr.mozilla.org/seamonkey/source/xpfe/communicator/resources/content/contentAreaClick.js#174 contentAreaClick()]].
спустя 4 часа 34 минуты [обр] Владимир Палант [досье]
Я сам это реализовал иначе, но в принципе должен помочь перехват события click на элементе browser... Сделать там e.cancelBubble().
спустя 8 часов [обр] Сергей Чернышев [досье]
Владимир Палант[досье]
Ну, а с JavaScript-ом-то это не поможет.
А как вы реализовали?
спустя 2 часа 9 минут [обр] Сергей Чернышев [досье]

http://www.xulplanet.com/tutorials/mozsdk/observerserv.php - добавленный только что раздел про observers содержит упоминание подписки на сообщения "domwindowopened" - это может помочь справляться с новыми открытыми окнами вне зависимости от того как они открыты - сам не пробовал пока что, но можно посмотреть что там к чему и принудительно открывать табы вместо окон, например.

Это, правда, не решает проблему с "_top".

спустя 12 часов [обр] Владимир Палант [досье]
Я повесил на ссылки XBL, так что любые нажатия ссылок перехватываются и вызывается соответствующая функция.
спустя 10 часов [обр] Сергей Чернышев [досье]
Владимир Палант[досье]
Да, это уже лучше. Но как быть с JavaScript-ом?
Я временно остановился на простом переписывании FireBird-а под свои нужды.
спустя 8 часов [обр] Владимир Палант [досье]
Не уверен, вроде бы обработчик события click в XBL вызывается раньше JavaScript'ового onclick?
спустя 4 часа 49 минут [обр] Сергей Чернышев [досье]
Понял - буду теперь рыть XBL.
Powered by POEM™ Engine Copyright © 2002-2005