вызов window.open() возвращает null в IE 11 + Windows 8.1 Preview

Я делаю что-то вроде этого, где MyConfig - страница aspx.

   winOpen=window.open('/Account/Register','MyConfig','toolbar=no,status=no,location=no,menubar=0,resizable=yes,scrollbars=yes,width=' + wWidth + ',height='+ wHeight + ',top=' + wTop + ',left=' +wLeft);

выигратьОткрыть.фокус();

Он возвращает ноль. Он отлично работает в предварительном просмотре Chrome + WIndows 8.1, но не работает в IE 11.

РЕДАКТИРОВАТЬ

Я добавил еще одну строку в вопрос, и на самом деле эта строка не работает, так как window.open() возвращает null, как и winOpen.focus(). Я перешел в режим совместимости, а затем запустил страницу, теперь она дает мне ту же веб-страницу ошибка, но я могу перейти на страницу. Я хотел, чтобы она работала без настройки режима совместимости. Пользователь может не знать настройку.


person Chris_vr    schedule 29.08.2013    source источник
comment
Разве первый аргумент тоже не должен быть строкой?   -  person Hanlet Escaño    schedule 29.08.2013
comment
извините, я обновлю вопрос   -  person Chris_vr    schedule 29.08.2013
comment
Вам нужно отладить. Каковы значения wWidth, wHeight, wTop и wLeft? Кроме того, открывается ли окно, и только переменная равна нулю?   -  person Shadow Wizard Wearing Mask V2    schedule 29.08.2013
comment
@ShadowWizard Ширина = 1036, Высота = 700, Верх = 34, Слева = 165   -  person Chris_vr    schedule 29.08.2013
comment
окно не приходит IE 11 как есть. Если я перехожу в режим совместимости, окна приходят.   -  person Chris_vr    schedule 29.08.2013
comment
Попробуйте указать полный URL, например. winOpen = window.open('http://localhost/Account/Register/page.aspx', ...   -  person Shadow Wizard Wearing Mask V2    schedule 29.08.2013
comment
@ShadowWizard Нет, это не работает. Даже если я напрямую вставил URL-адрес в IE11, он не появится. Но если я сделаю то же самое в Chrome, он загрузит эту страницу. Я предполагаю, что doPostback терпит неудачу в этом.   -  person Chris_vr    schedule 29.08.2013
comment
вы можете использовать ‹a href='...' target='_blank'›, у меня это отлично работает..   -  person Syed Mohamed    schedule 13.02.2014


Ответы (3)


снимите флажок «Включить защищенный режим» в настройках Интернета

person Khodor    schedule 14.02.2014

Ваш первый аргумент должен быть строкой, и вам не хватает знака плюса wHeight:

winOpen=window.open('/Account/Register','MyConfig','toolbar=no,status=no,location=no,menubar=0,resizable=yes,scrollbars=yes,width=' + wWidth + ',height=' + wHeight + ',top=' + wTop + ',left=' +wLeft);

Изменить: проверьте и убедитесь, что ваш IE разрешает всплывающие окна на сайте, который вы используете для тестирования. Если это не так и всплывающее окно не открывается, оно вернет ноль. Разрешение всплывающих окон решит проблему.

person Hanlet Escaño    schedule 29.08.2013

Та же проблема с IE 11 на Windows 10.

В отличие от обходного пути @Khodor, я получаю ожидаемое поведение:

  1. Откройте всплывающее окно параметров Интернета.
  2. Выберите вкладку безопасности.
  3. Установите флажок «Включить защищенный режим».
  4. Закройте и снова откройте IE.

Я думал, что значение null было вызвано ответом "не найдено", ssl, другим доменом и т. д. Я проверил и отбросил все из них.

person Daniel Delgado    schedule 17.04.2019