powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / IE7, window.open, сессия
17 сообщений из 17, страница 1 из 1
IE7, window.open, сессия
    #37028346
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В IE7 (в остальных браузерах все работает) на странице через window.open открывается дочернее окно, выбирается значение, дочернее окно закрывается. Сессия потеряна. Кто-нибудь боролся с таким?
...
Рейтинг: 0 / 0
IE7, window.open, сессия
    #37028381
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doublefintКто-нибудь боролся с таким?
Вообще сессии не используем...
...
Рейтинг: 0 / 0
IE7, window.open, сессия
    #37028714
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa, вы вводите нас в заблуждение.

doublefint, нет ли на теге body свойства onunload? Мне кажется, это ваше приложение отрывает сессию принудительно.
У нас была другая проблема - при открытии окна из модального диалога сессия не передавалась.
...
Рейтинг: 0 / 0
IE7, window.open, сессия
    #37028827
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н.вы вводите нас в заблуждение
Не понял почему?
Мы не пишем ничего в сессию... Ничего из неё не читаем... Потому и написал что "Вообще сессии не используем..."
...
Рейтинг: 0 / 0
IE7, window.open, сессия
    #37028843
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как говаривал Кант:
- Хватит спорить, давайте вычислять.

Сделал два csp-файла...

tmp.csp

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
<html>
<head>
<script type='text/javascript'>
function $(Id) {
	return document.getElementById(Id)
}
function Go() {
	var sid
	sid=#server(..cSId())#
	$('start').innerHTML=sid
	sid=window.showModalDialog('tmp1.csp')
	sid=#server(..cSId())#
	$('stop').innerHTML=sid
}
</script>

<csp:method name="cSId" arguments="" returntype="%String">
  n sid
  s sid=%session.SessionId
  q sid
</csp:method>

</head>
<body>
<input type='button' value='Test SessionId' onclick='Go()' />
<p id='start'></p>
<p id='stop'></p>
</body>
</html>

И tmp1.csp

Код: plaintext
1.
2.
3.
4.
5.
6.
<html>
<head>
</head>
<body>
<p>SessionId = #(%session.SessionId)#</p>
</body>
</html>

Потестил в ИЕ7...
%session.SessionId везде был одинаков... Никуда не девался...
...
Рейтинг: 0 / 0
IE7, window.open, сессия
    #37028973
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doublefint,

Есть подозрение на параметры безопасности IE7

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

krvsa, ну у вас какая-то система авторизации есть?
Как система не сваливает запросы всех пользователей в кучу? Вы все-все в URL подаете?
...
Рейтинг: 0 / 0
IE7, window.open, сессия
    #37029218
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н.у вас какая-то система авторизации есть?
В новых вариантах кащейская авторизация.

Блок А.Н.Вы все-все в URL подаете?
Да.
Только про "все, все" это громко сказано... Так, некие "ключевые" элементы...
...
Рейтинг: 0 / 0
IE7, window.open, сессия
    #37029671
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм, настройки безопасности...
Разрабатывал под IE8, для проверки работы переключил его в режим IE7, перестало работать. В сессии ID пользователя. Закрывается дочернее окно, пользователя выкидывает на страницу авторизации. onunload не использовал. Пути типа window.open("csp.child.cls")
...
Рейтинг: 0 / 0
IE7, window.open, сессия
    #37029993
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно полные пути?

Еще посмотрите в настройках csp приложения, возможно хранение куков если смысл сделать в приложении / а не /myapp/
Пока мне кажется, что не передаются куки на дочернюю страницу.
Еще поиграйтесь параметром "использовать куки для сессии".
...
Рейтинг: 0 / 0
IE7, window.open, сессия
    #37030056
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doublefint ,

Для модальных окон лучше использовать метод launchPopupWindow в связке с zenLink или %CSP.Page:Link() на случай приватных страниц.
По поводу сессий в различных браузерах было на англоязычном форуме, например:
CSP Sessions with Firefox and IE8

%session.Data on different FireFox tabs

Csp's losing %session.Data between pages

Old %session objects re-used

Ещё посмотрите параметр CSPSHARE .
...
Рейтинг: 0 / 0
IE7, window.open, сессия
    #37031838
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При открытии нового окна создает новую сессию. Пример для тестирования
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Class csp.parent Extends %CSP.Page {
ClassMethod OnPage() As %Status {
 &html<<html><head>
 <script type='text/javascript'>
window.callback=function(ssId){
	 var nowSsId=#(..HyperEventCall("..getSessionId"))#;
	 alert("ssId: "+ssId+" == "+ nowSsId+"?");
}
</script>
#(..HyperEventHead())#
</head><body>
#(%session.SessionId)#
<input type='button' value='Open child' onclick='window.open("csp.child.cls","_blank","width:200,height:150;");' />
</body></html>> Q $$$OK
}
ClassMethod getSessionId() As %String {  q %session.SessionId }
}

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Class csp.child Extends %CSP.Page {
 ClassMethod OnPage() As %Status {
	&html<<html><head><script type="text/javascript">
	function callback(){
		var ssId="#(%session.SessionId)#";
		window.opener.callback(ssId);
		window.close();
	}
	</script></head><body>
	#(%session.SessionId)#
	<input type="button" value="CallBack And Close" onclick="callback()" />
	</body></html>> Quit $$$OK
 }
}
...
Рейтинг: 0 / 0
IE7, window.open, сессия
    #37031845
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doublefintПри открытии нового окна создает новую сессию.
Так вроде так всегда и было...

Код: plaintext
window.open(...)
Новое окно - новый пользователь и минус лицензия...
...
Рейтинг: 0 / 0
IE7, window.open, сессия
    #37032216
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Opera 11.00
IE 6.0
Mozilla 3.6

Сессия держится во всех трех случаях, каше дома стоит версии
Cache for Windows (x86-32) 2010.2 (Build 431) Thu Sep 16 2010 17:36:20 EDT

У вас что-то с настройками куков в браузере, они почему-то не передаются в новое окно, попробуйте сбросить настройки безопасности по дефолту.

krvsaТак вроде так всегда и было.
Фигня. У нас много окошек открывается и модально и немодально, в каждом окошке проверка текущей сессии, если она не совпадает, то вышибает все приложение. И это случается очень редко.
...
Рейтинг: 0 / 0
IE7, window.open, сессия
    #37032408
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, дома у меня IE7 нет, но в организации у нас используется и IE7 и более старшие версии.
...
Рейтинг: 0 / 0
IE7, window.open, сессия
    #37032440
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н., более того, как оказалость, и в IE7 тоже держит сессию (проверил на виртуалке с IE7 v.7.0.5730) Только IE8 в режиме IE7... Считаю вопрос закрытым, всем спасибо за помощь, прошу прощения за беспокойство.
...
Рейтинг: 0 / 0
IE7, window.open, сессия
    #37032572
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н.Фигня.
И лицензии не съедаются?
...
Рейтинг: 0 / 0
IE7, window.open, сессия
    #37032630
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, лицензии не съедаются, сессия держится.
Ну то есть случаи, когда приложение вышибает бывают, тогда сессию новую приходится открывать, но это не связано с открытием новых окон. Вообще для каше абсолютно пофиг, как открывается окно, модально или немодально, разница есть только для браузера.

Пока точно известно, что сессия теряется, если сделать window.open из модального окна, такие моменты мы переписали.
Еще сессия теряется, если страница есть в url с приложение содержит большие буквы.

А сейчас я вообще сделал привязку лицензий по IP, как в 2010, так что пофиг :-)
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / IE7, window.open, сессия
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]