KAi: opener ie8 und firefox

Seit kurzem habe ich ein seltsames Problem. Ich habe bisher immer aus dem Hauptfenster aufgerufen und die Werte vom PopUp wieder zurück gegeben. Alles lief einwandfrei. Neudings funktioniert diese Methode aber leider nicht mehr ...

JS Funktion für Aufruf auf der Hauptseite

  
function get_media(NAME, PATH_INPUT) {  
		  
		media_win = window.open('index.php?&module=media&modus=media&path_input=' + PATH_INPUT +'&window=popup&input_name=' + NAME, 'media_win', 'width=520, height=510, scrollbars=no');  
		media_win.focus();  
		  
}  

<img src="./design/icons/16_16_4/picture_add.png" alt="Bild auswählen" onMouseUp="get_media('article_picture_small', 'article_picture_small_path');">

JS Funktion für Übergabe der PopUp Werte

  
function node_select(INPUT_NAME, PARENT_CHILD, INPUT_PATH, PATH) {  
  							  
  	opener.document.getElementById(INPUT_NAME).value = PARENT_CHILD;  
		opener.document.getElementById(INPUT_PATH).value = PATH;  
		  
    window.close();  
		  
}  

<img src="./design/icons/16_16_4/page_white_jpg.png" onMouseUp="node_select('article_picture_small','show_image_in_imgtag.jpg', 'article_picture_small_path', '');">

Es geht hierbei um eine simple Auswahl von Bilder. Auf der Hauptseite sind die Inputfelder hinterlegt. Durch einen Klick auf Bild hinzufügen wird die Funktion get_media aufgerufen. Danach öffnet sich ein PopUp in welchem Bilddateien angezeigt werden. Klicke ich nun auf ein entsprechendes Bild, soll der Dateinamen sowie Pfad an das Hauptfenster übergeben werden.

Wie gesagt, bisher hat es einwandfrei geklappt... Nun erhalte ich im IE8 & 7 die Fehlermeldung (Klasse unterstützt keine Automatisierung) ...

Hat jemand eine Idee an was es liegen könnte? Vielen Dank schonmal im Voraus!

Kai

P.S.: Auch die simplen opener Beispiele von selfHtml http://de.selfhtml.org/javascript/objekte/window.htm funktionieren nicht :/

  1. P.S.: Auch die simplen opener Beispiele von selfHtml http://de.selfhtml.org/javascript/objekte/window.htm funktionieren nicht :/

    In meinem IE 8 funktioneren die Beispiel. Du hast den Popupblocker ausgeschaltet?

    Struppi.

    1. In meinem IE 8 funktioneren die Beispiel. Du hast den Popupblocker ausgeschaltet?

      Hallo Struppi, also das PopUp kommt zwar, aber der Befehl, welcher das Hauptfenster schließt funktioniert nicht. D.h. der Zugriff auf das Hauptfenster wird mir wahrscheinlich in irgend einer Form verweigert! (Meine Einschätzung)

      1. noch einen zusatz. ich habe das beispiel von selfhtml nun 1:1 nachgestellt. folgendes tritt auf

        IE8
        Details zum Fehler auf der Webseite

        Benutzer-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64; Trident/4.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)
        Zeitstempel: Thu, 11 Mar 2010 11:40:03 UTC

        Meldung: Klasse unterstützt keine Automatisierung.
        Zeile: 5
        Zeichen: 3
        Code: 0
        URI: http://localhost/

        FF
        Warnung: Skripte können Fenster nicht schließen, die nicht von ihnen geöffnet wurden.

        Vielleicht hilft das ja...

        1. noch einen zusatz. ich habe das beispiel von selfhtml nun 1:1 nachgestellt. folgendes tritt auf

          Welches Beispiel denn? Du hast ja auf eine Seite, wo es ca. 20 Beispiele gibt verlinkt.

          FF
          Warnung: Skripte können Fenster nicht schließen, die nicht von ihnen geöffnet wurden.

          Vielleicht hilft das ja...

          Ich finde, dass ist eine deutliche Meldung. Du willst nicht ein popup schliessen, sondern das Hauptfenster.

          Struppi.

          1. Folgendes Beispiel war es

              
            <html><head><title>Test</title>  
            <script type="text/javascript">  
            function FensterOeffnen (Adresse) {  
              MeinFenster = window.open(Adresse, "Zweitfenster", "width=300,height=200,scrollbars=yes");  
              MeinFenster.focus();  
            }  
            </script>  
            </head><body>  
            <a href="datei2.htm" onclick="FensterOeffnen(this.href); return false">Neues Fenster</a>  
            </body></html>  
            
            

            sowie im popup

              
            <a href="javascript:opener.close()">Hauptfenster zumachen</a>  
            
            

            im ff leuchtet es mir ja alles ein .. mein problem ist ja aber die übergabe.. also die funktionen welche ich selbst erstellt habe ;)

            1. <a href="javascript:opener.close()">Hauptfenster zumachen</a>

                
              Genau das darfst du nicht.  
                
              Wär ja noch schöner, wenn du mit JavaScript das Hauptfenster des Browsers schließen könntst. Innerhalb einer einzelnen Opera-Instanz wäre z.B. dann alles weg, weil das Popup ebenfalls in der Instanz des Hauptfensters läuft.
              
              1. okay das leuchtet natürlich auch ein . fraglich wieso dann solch ein beispiel aufgeführt wird. aber zurück zum hauptproblem ;) d.h. meine geschriebene funktion. dort versuche ich ja nicht das hauptfenster zu schließen :/

                1. ...dort versuche ich ja nicht das hauptfenster zu schließen :/

                  Doch.

                  Struppi.

                  1. windows.close() ist raus ... kein erfolg.. habe soeben mal eine kleines testbeispiel gemacht

                    Hauptfenster

                      
                    <html><head><title>Test</title>  
                    <script type="text/javascript">  
                    function FensterOeffnen (Adresse) {  
                      
                      window.open(Adresse, "Zweitfenster", "width=300,height=200,scrollbars=yes");  
                      
                    }  
                    </script>  
                      
                    </head><body>  
                    <a href="#" onclick="FensterOeffnen('datei2.htm');">Wert übergeben</a>  
                      
                    <form name="test" action="test.html" method="post">  
                      
                    <input type="text" id="text" name="text" value=""/>  
                      
                    </form>  
                      
                    </body></html>  
                      
                    
                    

                    PopUp

                      
                    <html><head><title>Test</title>  
                    <script type="text/javascript">  
                      
                    function test123(){  
                    							  
                    							opener.document.getElementById("text").value = "test123";  
                      
                    }  
                      
                    </script>  
                    </head><body>  
                      
                    <a href="#" onclick="test123();">Wert ändern</a>  
                      
                      
                    </body></html>  
                      
                    
                    

                    Das Beispiel klappt im FF einwandfrei .. im IE8 passiert aber überhaupt nichts... Fehlermeldung wie gehabt bei

                    Details zum Fehler auf der Webseite

                    Benutzer-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64; Trident/4.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)
                    Zeitstempel: Thu, 11 Mar 2010 12:32:23 UTC

                    Meldung: Klasse unterstützt keine Automatisierung.
                    Zeile: 6
                    Zeichen: 8
                    Code: 0
                    URI: http://localhost/datei2.htm

            2. sowie im popup

              <a href="javascript:opener.close()">Hauptfenster zumachen</a>

                
              Das geht nicht.  
                
              
              > im ff leuchtet es mir ja alles ein .. mein problem ist ja aber die übergabe.. also die funktionen welche ich selbst erstellt habe ;)  
                
              Dort versuchst du ebenfalls das Hauptfenster zu schliessen - das geht nicht.  
                
              Struppi.
              
  2. So ich hab den Fehler gefunden .. aber nicht das ihr denk ich war zu blöd .. das scheint eine IE Sache zu sein... anbei der etwas untypische weg

    IE schließen

    CMD als Administrator ausführen

    folgende Statements absetzen

    REGSVR32 Msscript.ocx
    REGSVR32 dispex.dll Regsvr32 Dispex.dll
    REGSVR32 vbscript.dll REGSVR32 vbscript.dll
    REGSVR32 scrrun.dll REGSVR32 scrrun.dll
    REGSVR32 urlmon.dll Regsvr32 urlmon.dll

    CMD schließen

    IE neustarten ...

    Sehr sehr seltsam.. Ich hoffe, dass es ggf. dem ein oder anderen etwas Zeit erspart! Trotzdem vielen Dank für eure Bemühungen!

    1. Hallo KAi,

      folgende Statements absetzen

      und das sollen jetzt alle deine Seitenbesucher auch machen?

      Gruß, Jürgen

      1. Hallo,

        folgende Statements absetzen
        und das sollen jetzt alle deine Seitenbesucher auch machen?

        nein, das dürfte nicht nötig sein - es sei denn, deren IE hätte denselben Schaden erlitten. Denn dass Windows-DLLs wie scrrun.dll, vbscript.dll oder urlmon.dll plötzlich aus der Registrierung verschwinden, deutet auf einen Installations- oder Update-Unfall hin.

        Warum KAi die Kommandos zweimal notiert, wissen die Götter; das ist ein Syntaxfehler, den regsvr32 aber großzügig verzeiht, indem es überzählige Argumente einfach ignoriert.

        Ciao,
         Martin

        --
        Computer lösen für uns Probleme, die wir ohne sie gar nicht hätten.