PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Opera 9.5 Beta1 und Popups



BlueJay
06-01-2008, 17:01
Tja, zu diesem Browser muss ich sagen: "needs some work!" :o

Da zocke ich also auf der gamecraft-Seite rum, und da fällt mir folgendes auf:
Ein Formular namens form1 schreibt eine Highscore-Tabelle in ein Popup (target="popup") . Aufgerufen wird das Ganze mit

document.forms['form1'].submit();, wie viele Cheater bereits wissen. :)

Bisher mit allen Browsern kein Problem, aber nu kommt Opera 9.5 Beta1.

1. Der macht zwar das Popup auf, läd sich aber dann 'nen Wolf! Versucht jedenfalls laut Titelzeile, das richtige Programm (hiscore.php) zu laden.
2. Verpasst man dem Popup ein Refresh, erscheint statt des erwarteten php-Ergusses die aufrufende Seite!
Ist wohl nicht so geplant gewesen!
3. Poppt man von diesem Popup dann das Hilfspopup auf, poppt der richtige Erguss auf, aber im aufrufenden Fenster. Hoppla!
Dass dabei
onload=this.focus() ignoriert wird, kann man ja noch verschmerzen. Und wenigstens hat er diesmal den korrekten Fensternamen erwischt.

Wir halten fest: der php-Erguss wird nur vollständig geladen, wenn das Fenster mindestens 1 Sekunde vor Aufruf des Submits schon da ist.

Es spielt keine Rolle, was sonst noch in dem Formular passiert, das Grundübel ist das Zusammentreffen von document.forms[formname].submit und target="popup"
Vertreter dieser Gattung:
http://www.gamecraft.de/tripels/index.htm

Vertreter der Gattung, die
document.form1.submit() , also DOM0 verwendet bei ansonsten identischem HTML/JS:
http://www.gamecraft.de/raeumen/index.htm
Hier arbeitet Opera korrekt.

Würgaround ist: die Hilfe aufrufen (öffnet besagtes benamstes Popup, aber mit anderem Protokoll)), das Fenster in den Hintergrund zu legen und bloß nicht schließen, wenn einem der Highscore wichtig ist!

Hatten wir das nicht schon mal in der 5er oder 7er -Version? :D

so long,
BlueJay