JavaScript PopUp schließen im IE

meiniwtz

Cadet 4th Year
Registriert
Juli 2009
Beiträge
71
Hi,

ich bräuchte eure Hilfe bei folgendem Problem: Ich öffne ein PopUp, das eine Website läd. Den Button/Link zum Schließen muss ich deswegen in meine Seite einbinden. In Chrome funktioniert alles, aber IE8/9 will nicht :pcangry:
Ich habe normalerweise eine Close-Funktion, aber nichtmal dieser Code klappt im IE:

Code:
	var mywin = window.open("http://www.gidf.com","Goo",settings);
	mywin.close();

Man erhält den Fehler:
Für die Eigenschaft "close" kann kein Wert abgerufen werden: Das Objekt ist Null oder undefiniert
:freak: :freak: Eine Zeile drüber wurde mywin definiert, wie kann es trotzdem Null sein?
 
setz doch mal ein console.log(mywin); zwischen Deklaration und dem close(). Vielleicht hilfts.
 
Bringt leider nichts :(
IE lässt auch keine cookies in iframes zu, sonst hätte ich statt dem PopUp einen Iframe genommen.
 
Code:
var mywin = window.open("http://www.gidf.com","Goo",settings);
console.log( mywin );
console.log( mywin.close );
Wie Daaron schon sagte. Bringt leider nichts, hilft uns leider nicht. Wenn das Popup geöffnet wurde, hast du in mywin die Referenz dazu stehen und kannst darüber auf das Fenster zugreifen. Falls nicht, würde es mich stark wundern.

Im ersten Output müsste theoretisch HTMLDocument ausgespuckt werden, im zweiten function() o.ä. (kenn jetzt nicht die Typen vom IE).
 
Geht leider nicht :(
die Konsole meldet:
PROTOKOLL: [object]
PROTOKOLL: undefined
Irgendwie klappt die Referenz auf das PopUp-Fenster nicht.
Sobald ich keine Website im Popup öffne, sondern nur ein leeres Fenster, funktioniert der ganz normale mywin.close()-Befehl.
Code:
mywin = window.open("","Blanc_Win",settings);
mywin.close();
 
Könnte es nicht sein, dass der IE den Aufruf einer fremden Seite als Cross Site Scripting interpretiert?
 
was genau steht denn im debugger, nachdem du mywin erzeugt hast?

am besten mal ein leeres popup und eines mit verlinkung öffnen lassen und im debugger (ich kann hier nur den chrome debugger empfehlen!) schauen was in den objekten zu finden ist.

du kannst dir dort alle methoden anschauen, alle attribute etc. da siehst man fast immer was das problem ist.

wenn mywin im letzeren fall nur ein leeres objekt ist müsste man mal die api durchsuchen wieso window.open ein leeres objekt zurückgibt.

evtl. kannst du mit dem debugger aber sogar bis in diese funktion vordringen, weiß grad nicht wie weit der gehen kann.

wird das fenster denn überhaupt erzeugt?

was spricht gegen ein js popup mit div's ? JS setzt du ja so oder so vorraus.....
 
Zuletzt bearbeitet:
Zurück
Oben