IE11 does not update a blank page opened with Window.Open() method if shell (Explorer.exe) is not running

IE11 does not update a blank page opened with Window.Open() method if shell (Explorer.exe) is not running

book

Article ID: CTX206419

calendar_today

Updated On:

Description

A window opened by Internet Explorer 11 by calling Window.Open() method won't be updated properly. For example, the issue is reproducible by the following JavaScript.

Window.open("", "child1", "some options");
Document.form1.target="child1";
Document.form1.submit();
Expected Behavior: IE11 submits "form1" on a new tab/window named "child1".
Actual Behavior: IE11 submits "form1" on another tab/window. A blank window is opened due to Window.open(), but it won't be updated. 
 

Resolution

There are multiple options to avoid the issue:
  • Enable UAC
  • Open [Internet Options] and select "Always open pop-ups in a new tab"
  • Use Group Policy: [User Configuration] -> [Policies] -> [Administrative Templates] -> [Windows Components] -> [Internet Explorer] -> [Turn off configuration of tabbed browsing pop-up behavior] -> [Force pop-ups to open in a new tab]
  • Modify your JavaScript to quit submitting the form to a child window from parent window
  • Use another browser

Problem Cause

This is a phenomenon caused by Internet Explorer 11 due to window management design change. So, this is not a bug of Citrix.

If UAC is disabled, IE11 manages child windows by calling ShellWindows provided by shell (Explorer.exe). If RDP/ICA session is started as Initial App or Published App, Explorer.exe is not started as shell. As a result, IE11 cannot manage child windows. Therefore, the issue happens.

If UAC is enabled, IE11 does not depend on ShellWindows. Therefore, the issue does not happen even though Explorer.exe is not running as shell.

Please ask Microsoft for more details.
 

Issue/Introduction

IE11 does not update a blank page opened with Window.Open() method if shell (Explorer.exe) is not running