nein, wie sollte es? Beim Reload werden auch in die Seite eingebettete Scripts neu geladen und initialisiert.
Joa genau. Deshalb hab ich gehofft das die Browser intern eine Array mit pflegen und es bei einem Seiten neuladen irgendwie an das JS weiter geben. So dass man bequem per window.openwindow zugreifen kann. window.location.href ist ja auch gesetzt.
Die Lösung von ChrisB ist vorerst brauchbar. Ich hab folgendes kleines Script geschrieben:
<html>
<head>
<script type='text/javascript' src='jquery/jquery.js'></script>
<script type='text/javascript'>
$().ready( function() {
var objFenster = null;
$("#open").click( function() {
objFenster = window.open( "http://www.google.de", "google" );
});
$("#get").click( function() {
objFenster = window.open( "", "google" );
if( !objFenster.location.href || objFenster.location.href == "about:blank" )
{
objFenster = window.open( "http://www.google.de", "google" );
}
});
$("#close").click( function() {
if( objFenster )
{
objFenster.close();
}
});
});
</script>
</head>
<body>
<input type='button' id='open' value='open' />
<input type='button' id='get' value='get Window' />
<input type='button' id='close' value='close' />
</body>
</html>
Folgendes Problem. Man klickt auf "get Window". Wenn Fenster noch nicht offen ist, wird ein leeres Fenster geöffnet. Also dachte ich mir, okay, dann prüf ich eben ob location.href "richtig" gesetzt ist. Wenn nicht, öffne ich das gleiche Fenster einfach nochmal mit richtiger Url. Solang das Fenster ein about:blank hat funktioniert es wunderbar. Wenn jedoch bereits die eventuell fremde Url geladen ist, habe ich auf location.href keinen Zugriff mehr wegen der SOP. Ein Fehler wird mir entgegen geschleudert.
Aktuell brauche ich die Lösung jedoch nur für neue Fenster mit der eigenen Domain. Also das SOP Problem hätte ich erstmal nicht. Wenn man jedoch bereits an dem Problem dran ist, wäre eine umfassende Lösung natürlich klasse.
Ideen?
Gruß
Script Bastler
T-Rex