window.open не открывается в том же сеансе - PullRequest
6 голосов
/ 05 июля 2011

Я использую приведенный ниже тег привязки на странице JSP, чтобы открыть другую страницу из того же приложения, но новое окно не открывается в том же сеансе, а вместо этого оно перенаправляет на страницу входа в мое приложение. Любые подсказки, почему?

<a href="#" onclick="window.open('/path_to_same_page', '_blank',
        'toolbar=0,status=0,resizable=1'); return false;">Click here...</a>

Ответы [ 4 ]

2 голосов
/ 27 марта 2013

Вы указали в своем ответе, что

родительская страница размещена на элементе управления веб-браузера IE, встроенном в наше приложение Windows

На самом деле есть решение для этогопроблема.Ваше приложение должно обработать событие NewWindow2, чтобы поддерживать сеанс через окна.

Подробнее об этом см. В следующих ресурсах MSDN:

2 голосов
/ 09 августа 2011

Причина такого поведения заключается в том, что родительская страница размещена в элементе управления веб-браузера IE, встроенном в наше приложение Windows. Когда он создает новое окно (используя window.open или target = "_ blank"), новое окно принадлежит процессу iexplore.exe и не наследует куки сеанса от родительского окна IE, которое принадлежит нашему приложению. процесс. Нет общего решения этой проблемы. В нашем случае мы использовали какой-то единый вход для совместного использования контекста сеанса между двумя экземплярами окна.

1 голос
/ 05 июля 2011

Попробуйте этот обходной путь, не уверен, что он поможет, но стоит попробовать:

<a href="/path_to_same_page" target="mywindow" onclick="window.open('/path_to_same_page', 'mywindow', 'toolbar=0,status=0,resizable=1');">Click here...</a>

Имея это, окно не открывается изначально скриптом, а скорее атрибутом target.

0 голосов
/ 05 июля 2011

сначала закодируйте этот URL с помощью encodeURL ("");а затем добавить в файл JavaScript

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...