Anfänger: open und focus

Hallo,
eine Anfängerfrage zu der ich allerdings nix gefunden hab:

var test = window.open("test1.html", "");
test.focus();

Im FF wird das Fenster im Vordergrund geöffnet, im IE nicht. Wie kann man das im IE hinbekommen?

Danke

  1. Lieber Anfänger,

    var test = window.open("test1.html", "");

    das kann von Popup-Blockern verhindert werden - ist Dir das klar? Musst Du ein neues Fenster öffnen, oder könntest Du das auch simulieren?

    test.focus();

    Im FF wird das Fenster im Vordergrund geöffnet, im IE nicht. Wie kann man das im IE hinbekommen?

    Vielleicht ist der IE zu langsam, um diese Anweisung umzusetzen? Vielleicht verhindern aber auch Einstellungen, dass diese Anweisung überhaupt umgesetzt wird. Hast Du eine Fehlermeldung bekommen (kleines gelbes Warndreieck in der Seite mit dem Script)?

    Liebe Grüße,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
    1. Mahlzeit Felix,

      Musst Du ein neues Fenster öffnen, oder könntest Du das auch simulieren?

      dein Script ist ja eine feine Sache. Hatte ich so noch nie gesehen.
      Mir stellt sich nur grad die Frage ob künftige Pop-Up- oder Werbe-Blocker auch noch so nett sein werden dein Script ausführen zu lassen.

      Müssen Popups denn wirklich sein? Ich hab noch keins gefunden welches nicht gestört hätte oder welches nicht hätte vermieden werden können.

      Grüße, Matze

      1. Moin Matze!

        Müssen Popups denn wirklich sein? Ich hab noch keins gefunden welches nicht gestört hätte oder welches nicht hätte vermieden werden können.

        Würd ich auch gerne vermeiden. Allerdings hab ich keine Ahnung wie:
        Ich greife mir über die Maus die Bildschirmkoordinaten ab und mache mit diesen einige Berechnungen. Wenn die Maustaste losgelassen wird, öffne ich mit window.open ein neues Fenster wo ich die Ergebnisse der Berechnung an die URL anhänge. Wie soll das ohne JS gehen?

        Anfänger

        1. Hi,

          Wenn die Maustaste losgelassen wird, öffne ich mit window.open ein neues Fenster wo ich die Ergebnisse der Berechnung an die URL anhänge.

          Zu welchem Zweck?

          Wie soll das ohne JS gehen?

          Nicht ohne JS - aber zumindest ohne Popups.

          MfG ChrisB

          --
          “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
          1. Hi,

            Wenn die Maustaste losgelassen wird, öffne ich mit window.open ein neues Fenster wo ich die Ergebnisse der Berechnung an die URL anhänge.

            Zu welchem Zweck?

            Um mit den berechneten Werten in der neuen Seite weiter arbeiten zu können (mit opener. oder parent. geht's nicht, da aus dem Hauptfenster mehrere Kindfenster geöffnet werden können die dann alle auf das Elternfenster zugreifen müssten wobei sich die berechneten Werte ja nunmal bei jedem neuen Fenster ändern).

            Wie soll das ohne JS gehen?

            Nicht ohne JS - aber zumindest ohne Popups.

            Versteh ich nicht wie das gehen soll.

    2. Moin Felix!

      ... oder könntest Du das auch simulieren?

      Das man ein neues Element innerhalb der Hauptseite öffnet ist klar. Allerdings ist das dann halt nicht wirklich ein neues Fenster. Z.B. kann man das Hauptfenster nicht schließen ohne das das "neue Fenster" auch geschlossen wird.

      ...Hast Du eine Fehlermeldung bekommen...

      Fehler gibt's nicht.

      Anfänger

      1. PS:

        Vielleicht ist der IE zu langsam, um diese Anweisung umzusetzen?

        Hab auch schon versucht mit  window.setTimeout zu arbeiten. hat auch nichts gebracht.

      2. ...Hast Du eine Fehlermeldung bekommen...

        Fehler gibt's nicht.

        Du musst sie auch suchen, du weißt wo du die Fehlermeldungen findest?

        Struppi.

        1. Du musst sie auch suchen, du weißt wo du die Fehlermeldungen findest?

          Klar.

          1. Du musst sie auch suchen, du weißt wo du die Fehlermeldungen findest?
            Klar.

            ok, dann müßte dein Code auch funktionieren, es sei denn es gibt eine Einstellung im IE die es verhindert das JS den Fensterfocus ändert (Im Firefox gibt es so eine). Bei mir (IE 8) läuft dein Beispiel problemlos.

            Struppi.

            1. ... Bei mir (IE 8) läuft dein Beispiel problemlos.

              Alles klar. Vielen Dank für die Mühe!

              1. ... Bei mir (IE 8) läuft dein Beispiel problemlos.

                Alles klar. Vielen Dank für die Mühe!

                Bitte, gern geschehen.

                Struppi.

  2. Hi,

    var test = window.open("test1.html", "");
    test.focus();

    Im FF wird das Fenster im Vordergrund geöffnet, im IE nicht. Wie kann man das im IE hinbekommen?

    MSDN - focus method:
    "Windows Internet Explorer 8 and later. The focus method no longer brings child windows (such as those created with the open method) to the foreground. Child windows now request focus from the user, usually by flashing the title bar. To directly bring the window to the foreground, add script to the child window that calls the focus method of its window object."

    MfG ChrisB

    --
    “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
    1. Also wenn ich's richtig verstanden hab, schreib ich in das Kindfenster window.focus() oder diversesElement.focus().

      Läuft aber auch so nicht...

      1. Hallo,

        Läuft aber auch so nicht...

        "Läuft nicht" ist keine brauchbare Problembeschreibung, siehe Tipps für Fragende.

        Bei mir (IE 8) läuft dein Beispiel problemlos.

        Bei mir auch.

        Test.htm:

        <html>  
        	<head>  
        		<title>Test</title>  
        		<script>[code lang=javascript]var test = window.open("test1.htm", "");
        ~~~</script>  
        	</head>  
        	<body>  
        		<p>Dokument Test.htm</p>  
        	</body>  
        </html>  
        [/code]  
          
        Test1.htm:  
        ~~~html
        <html>  
        	<head>  
        		<title>Test1</title>  
        	</head>  
        	<body>  
        		<p>Dokument Test1.htm</p>  
        	</body>  
        </html>
        

        Nach öffnen von Test.htm erhält Test1.htm den Fokus im Vordergrund in meinem IE8. Das neue Fenster braucht dazu kein explizites focus().
        Natürlich meckert der Popup-Blocker zuerst in der gelben Leiste oben. Man muss das Popup dann zulassen, wenn man es wirklich haben will (aber will das schon?).

        Wie Struppi schon schrub: Es kommt auch auf die Benutzereinstellungen im IE an.
        Wie andere schon schruben: Popups sind nervig und einfach Sch...

        Gruß, Don P