Benannte Browserfenster können nicht gefunden werden, wenn Internet Explorer als veröffentlichte Anwendung gestartet wird

Wichtig

Die Internet Explorer 11-Desktopanwendung wird für bestimmte Versionen von Windows 10 eingestellt und ab dem 15. Juni 2022 nicht mehr unterstützt.

Sie können mit dem Internet Explorer-Modus in Microsoft Edge weiterhin auf ältere Websites zugreifen, für die Internet Explorer erforderlich ist. Anleitung.

Die Internet Explorer 11-Desktopanwendung wird schrittweise an den schnelleren, sichereren Microsoft Edge-Browser umgeleitet und letztendlich über Windows Update deaktiviert werden. Deaktivieren von IE heute.

Dieser Artikel hilft Ihnen, das Problem zu beheben, dass Sie das benannte Browserfenster nicht finden können, wenn Internet Explorer als veröffentlichte Anwendung gestartet wird.

Ursprüngliche Produktversion:   Internet Explorer 9
Ursprüngliche KB-Nummer:   2833316

Problembeschreibung

Stellen Sie sich folgendes Szenario vor:

  • Die Benutzerkontensteuerung (User Account Control, UAC) ist deaktiviert.

  • Internet Explorer wird nicht von der Benutzerdesktopshell-Umgebung (Explorer.exe) gestartet. Dieses Szenario tritt häufig auf, wenn Internet Explorer auf eine der folgenden Arten gestartet wird:

    • Über Terminaldienste-RemoteApp
    • Als benannte Anwendung auf der Registerkarte "Programme für Remotedesktopverbindung (mstsc.exe)"
    • Über Remotesitzungsdienste von Drittanbietern, z. B. von Citrix bereitgestellte Dienste
  • Sie verwenden eine Webseite, die den Fensternamen programmgesteuert festlegt, und öffnen dann ein neues Fenster von dieser Seite aus. In diesem Szenario wird ein leeres Fenster erstellt, und die ursprüngliche Seite bleibt unverändert. Sie gehen jedoch davon aus, dass die Startseite geändert wird.

Im folgenden HTML-Markupbeispiel wird dieses Szenario veranschaulicht. Das ursprüngliche Skript benennt das Fenster. Wenn die Seite geladen wird, erstellt das Skript dann ein neues Fenster. Das Skript im neuen Fenster versucht automatisch, die Erfolgstextzeichenfolge auf der Seite einzufügen, von der aus das neue Fenster mit dem Namen des ursprünglichen Fensters erstellt wurde.

  • main.html

    <!DOCTYPE html>
    <html>
        <head>
            <script type="text/javascript">
                function initScr() {
                self.name = "MainWindow"
                var ret = (window.open("second.html", "_blank"));
                }
            </script>
        </head>
        <body onload="initScr()">
            main window
            <div id="mydiv">
                original content
            </div>
        </body>
    </html>
    
  • second.html

    <!DOCTYPE html>
    <html>
        <head>
            <script type="text/javascript">
                function initScr() {
                var ret = (window.open("", "MainWindow"));
                var el = ret.document.getElementById("mydiv");
                el.innerHTML = "success";
                }
            </script>
        </head>
        <body onload="initScr()">
            second window
        </body>
    </html>
    

Lösung

Lösung 1

Um dieses Problem zu beheben, wird empfohlen, die Benutzerkontenkonsole zu aktivieren. Da das Problem auf Terminalservern auftritt und Internet Explorer als Shell ausgeführt wird, sollte die Benutzerkontensteuerung aus Sicherheitsgründen aktiviert sein.

Weitere Informationen dazu, wann die Benutzerkontensteuerung in Windows Server deaktiviert werden soll, finden Sie unter Deaktivieren der Benutzerkontensteuerung (User Account Control, UAC) auf Windows Server.

Lösung 2

Um dieses Problem zu beheben, können Sie auch mit einer temporären Seite beginnen, die das erste Fenster öffnet, und dann entweder die temporäre Seite schließen oder minimieren. Wenn Sie die Seite jedoch schließen, wird die temporäre Seite möglicherweise nicht automatisch geschlossen und erfordert möglicherweise einen Benutzereingriff, um das Schließen zu ermöglichen.

Führen Sie im Beispielskript, das im Abschnitt "Symptome" erwähnt wird, die folgende Aktion aus:

Kommentieren Sie inmain.html die Zeile aus, die self.name enthält, und erstellen Sie dann eine neue Seite, um das ursprüngliche erste Fenster (main.html) zu öffnen und die neue Seite zu schließen oder zu minimieren.

  • temp.html

    <!DOCTYPE html>
    <html>
        <body>
            <script language="javascript">
                window.open("main.html", "MainWindow");
                window.close();
            </script>
        </body>
    </html>
    

Anstatt mit main.html zu beginnen, beginnen Sie jetzt mit der neuen Seite (temp.html).

Weitere Informationen

Dieses Problem kann auch auftreten, wenn Internet Explorer mithilfe eines Administratorkontos gestartet wird. Standardmäßig sind Mitglieder der lokalen Sicherheitsgruppe "Administratoren" von UAC-Steuerelementen und Betriebseinschränkungen nicht betroffen.