2014-02-06 4 views
1

Очевидно, что IE8 имеет ограничения на новые сеансы на каждую вкладку. По дизайну IE8 + не разрешает новые сеансы на каждую вкладку автоматически. Я понимаю, почему он разработан таким образом, но я думаю, что команда IE Microsoft игнорировала все ситуации для пользователей/сеансов.Internet Explorer 8+ - новая сессия за вкладку

Существует пункт меню «Файл -> Новый сеанс» в IE8, который создает необходимые мне функциональные возможности.

К сожалению, мои пользователи не могут обучаться использованию «Файл -> Новая сессия». Я должен попытаться выполнить это в коде, программно.

Мой вопрос ... Что такое «Файл -> Новая сессия», выполняемая под обложками? Мне нужно реплицировать эту функциональность меню, но не могу найти хороших примеров того, как это сделать, без повторного изобретения колеса. Очевидно, что IE8 может легко создавать новые сеансы (за вкладку), но как в коде ???

Я не хочу менять web.config или помещать GUID в строку запроса, поскольку это неприемлемо для наших пользователей, поэтому, пожалуйста, не предлагайте это делать.

Любая помощь приветствуется.

** EDIT: мой сценарий заключается в том, что наши пользователи заходят в нашу веб-систему, вносят некоторые изменения, а затем открывают новую вкладку для входа в систему как другой пользователь. Новый пользователь будет получать данные сеанса от предыдущего пользователя. Я хочу избежать обмена данными сеанса между вкладками. Если пользователи используют «Файл -> Новый сеанс», это работает, но мы не можем полагаться на это. Я хочу написать код для репликации этой функциональности меню в нашем приложении.

+0

Downvoting leditimate вопросы действительно хромает. Как вы ожидаете, что новые пользователи получат достаточно очков для повышения? – Gr3ml1n5tryp3

ответ

0

ASP.NET-сессия такая же во всех вкладках, поскольку используется HTTP-файл cookie. Cookie используется для всех вкладок браузера. Если вам не нравится сеанс cookieless с параметрами URL, вы можете использовать ajax-вызовы и искать JavaScript window.name. Это свойство уникально для всех вкладок (окон), и вы можете установить собственное значение.

Пример такого подхода: Javascript session-variables without cookies

+0

Нет, это тот же сеанс из-за потока процессов IE. Я хотел бы увидеть примеры кода. В частности, как работает «Файл -> Новый сеанс» из меню. – Gr3ml1n5tryp3

+0

Вы создаете сайт ASP.NET или некоторое расширение IE? –

+0

Это веб-сайт ASP.NET, и пользователи используют IE8. Сессия делится между вкладками из-за потока процессов IE. Это хорошо документировано в Интернете. Моя цель - реплицировать пункт меню «Файл -> Новая сессия» без каких-либо javascript или причудливых хаков. – Gr3ml1n5tryp3

0

В общем, это какой-то грязный хак, но может работать в вашем случае.

<script language="javascript"> 
var a = external.menuArguments; 
if(a && (a = a.event) && (a = a.srcElement) && (a = a.href)) 
{ 
var shell = new ActiveXObject("WScript.Shell"); 
shell.run("\"C:\\Program Files\\Internet Explorer\\iexplore\" -nomerge \"" + a + "\""); 
} 
</script> 

http://waissguy.wordpress.com/2009/07/07/how-to-open-a-link-in-a-new-session-with-ie8/

+1

Пользователи не открывают вкладки программно. Они открывают новые вкладки через меню IE. Это не будет работать. Мне нужен код, который создает новый сеанс при создании вкладки. Не использовать код Shell для вызова браузера. Мне нужно поместить код «нового сеанса» в мои подпрограммы входа. – Gr3ml1n5tryp3

+0

Я бы хотел увидеть примеры кода. В частности, как работает «Файл -> Новый сеанс» из меню. – Gr3ml1n5tryp3

Смежные вопросы