![]() |
|
||||||||||
|
|
|
|||||
|
Всем привет!
Столкнулся вот с такой проблемой. Есть сайт. Он состоит из нескольких страниц, на которых в начале любого действия выберается некий параметр, который является глобальным для всего сайта. Сохраняется в session. То есть, на одной странице юзер выбирает параметер, и работает с ним по всему сайту, пока не изменит его на кокой-нибудь странице. Но вот такая ситуация. Человек выбрал скажем параметр 111, и открывает новое окно того же браузера. В новом окне остаётся тот же параметр 111 что и в первом окне. Далее, во втором окне, юзер изменил параметер на 222 и перешел на первое окно. И сделал там, допустим, релоад странице. И вместо параметра 111 он получает из сессии новый параметр 222. Вот сам вопрос: как можно запретить изменятся этому параметру в первом окне? Нужно чтобы он оставался прежним в этом окне. Как-то можно "метить" (отслеживать) окна одного браузера? конечно можно передавать по URL, но может есть другие способы? Последний раз редактировалось SandyMAN; 08.01.2004 в 14:29. |
|
|||||
|
Привязать параметр к окну. Для каждого окна по параметру.
А еще помни: больше окон - меньше безопасности. Работая с сессиями лучше всего использовать одно единственное окно на котором юзер к тебе зашел. Последний раз редактировалось kompadre; 09.01.2004 в 06:09. |
|
|||||
|
>Привязать параметр к окну. Для каждого окна по параметру.
дык в этом вся и проблема, что нет возможности "пометить" разные окна согласно законам HTTP. Для всех окон одного браузера существуют одни и теже куки и сессии. Привязать разные идентификаторы к разным окнам браузера нельзя. Зная это, я задал этот вопрос с небольшой надеждой - а вдруг есть какой-то трюк? Народ ведь у нас умный, на всякое способен. >А еще помни: больше окон - меньше безопасности. к безопасности, по-моему, это не имеет отношения. Всё зависит от "правильности" программирования >Работая с сессиями лучше всего использовать одно >единственное окно на котором юзер к тебе зашел. к сожалению, мы не можем (да и не в праве) ограничивать людей в открытии дополнительных окон. Хотя именно это помогло бы в моём случае. |
|
|||||
|
А нельзя заменить все линки открываюшее новые окна на "онклик" который будет добовлять к хотимому урлу параметр "виндоу=такойто"? А в сессии иметь хэш. У хЭша индексы - коды страниц. Также в сессию можно запихнуть код "активного" окна который будет меняться при
а) открытии нового окна, собственно б) при вызове дхмлового события "onfocus" Эта смена может происходить примерно так : -(открывается окно) -окно получив фокус бегет на скрипт и передает ему гетом кодовое название страницы (это можно зделать хитро например с помошью изображением -этот скрипт смотрит существует ли элемент в массиве сессии относящейся к имени полученному гетом. -если нет - создает -меняет переменную указывающюю на активный элемент массива. |
|
|||||
|
спасибо Падре. Очень интересная идея. Правда существует проблема: человек может захотеть просто открыть ещё один экземпляр страницы в новом окне, например нажатием CTRL+N (File->New) или в другом каком-нибудь браузере иным способом. Поэтому не получится передать параметер также как при "онклик"
Думаю, в моём случае более правильно будет не хранить данные в сессиях, а передавать все по URL. И менее геморно, и более надёжно. |
![]() |
Часовой пояс GMT +4, время: 00:59. |
|
|
« Предыдущая тема | Следующая тема » |
|
|