Probleme bei Frames im Firefox
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
ansicht
anzeigen
beschrieb
datei
eigentliche inhalt
eigentliche spiel
eigentlichen inhalt
flash
folgende ausgangssituation
fram
hintergrundbild
karten
laden
legende
musik
paar millisekunden
schlampiger programmierung
sekunde
tasten
weltkarte
-
Hallo, ich habe folgendes Problem und weiß nicht, ob es an schlampiger Programmierung meinerseits liegt, oder ob es am Firefox liegt (ich gehe eher von letzterem aus).
Folgende Ausgangssituation:
Ich bin dabei ein Browsergame zu programmieren, bei welchem man sich mit Hilfe der Tastatur über eine Weltkarte bewegen kann. Die Ansicht ist aufgeteilt in 2 Frames: Der obere Frame ist nicht sichtbar und enthält eine Flash-Datei, die Musik abspielt. Der untere Frame, also der einzig sichtbare, enthält das eigentliche Spiel.
Wenn der Spieler nun eine Taste drückt, wird ein Formular abgeschickt, der Server berechnet die neue Karte und sendet sie zum Browser. Dann kann man wieder eine Taste drücken usw...
Nun das Problem: Wenn ich die Taste drücke und die neue Seite geladen wird, dann wird zunächst nur das Hintergrundbild der Seite geladen und dann wird nach ein paar Millisekunden (keine Ahnung wie viel, auf jeden Fall weniger als eine Sekunde) der Rest der Seite, also die Karte angezeigt. Wenn man sich nun zügig über die Karte bewegen will und nach jedem Tastendruck immer erst das Hintergrundbild angezeigt wird und dann der eigentliche Inhalt, nervt das und geht auf die Augen.
Und jetzt das kuriose: Wenn ich nur den Frame mit dem eigentlichen Inhalt anzeigen lasse passiert das nicht! Dann wird sofort die neue Karte angezeigt.
Zur Veranschaulichung hab ich hier ein Video erstellt und hochgeladen:
http://thoranis.pytalhost.eu/frames.zip
Das Video ist ein bisschen langsam geworden, eigentlich läuft das Spiel schneller. Liegt wohl an meinem schlechten PC!
Folgendes habe ich schon ausprobiert:
-Nur den einen Frame anzeigen (wie oben beschrieben): das Problem tritt nicht auf
-Flash-Datei aus dem oberen Frame entfernen: hilft nicht
-Die Seite in verschiedenen Browsern ausprobieren:
---Firefox 1.5: Problem tritt auf
---Firefox 2.0: Problem tritt auf
---Internet Explorer 6: Problem tritt nicht auf
Hier habe ich mal den HTML-Code des Framesets eingefügt:
<html> <head> <title>Die Legende von Thoranis</title> </head> <frameset> <frame> <frame> <noframes> <body> <b>Fehler</b><br><br>Dein Browser untertützt keine Frames. Zum Spielen von THORANIS musst du einen Browser verwenden, der Frames untertützt. </body> </noframes> </frameset> </html>
Offensichtlich liegt das Problem beim Firefox. Wie lässt es sich umgehen?
Über Antworten würde ich mich freuen. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo, ich habe folgendes Problem und weiß nicht, ob es an schlampiger Programmierung meinerseits liegt, oder ob es am Firefox liegt (ich gehe eher von letzterem aus).
Folgende Ausgangssituation:
Ich bin dabei ein Browsergame zu programmieren, bei welchem man sich mit Hilfe der Tastatur über eine Weltkarte bewegen kann. Die Ansicht ist aufgeteilt in 2 Frames: Der obere Frame ist nicht sichtbar und enthält eine Flash-Datei, die Musik abspielt. Der untere Frame, also der einzig sichtbare, enthält das eigentliche Spiel.
Wenn der Spieler nun eine Taste drückt, wird ein Formular abgeschickt, der Server berechnet die neue Karte und sendet sie zum Browser. Dann kann man wieder eine Taste drücken usw...
Nun das Problem: Wenn ich die Taste drücke und die neue Seite geladen wird, dann wird zunächst nur das Hintergrundbild der Seite geladen und dann wird nach ein paar Millisekunden (keine Ahnung wie viel, auf jeden Fall weniger als eine Sekunde) der Rest der Seite, also die Karte angezeigt. Wenn man sich nun zügig über die Karte bewegen will und nach jedem Tastendruck immer erst das Hintergrundbild angezeigt wird und dann der eigentliche Inhalt, nervt das und geht auf die Augen.
Und jetzt das kuriose: Wenn ich nur den Frame mit dem eigentlichen Inhalt anzeigen lasse passiert das nicht! Dann wird sofort die neue Karte angezeigt.
Zur Veranschaulichung hab ich hier ein Video erstellt und hochgeladen:
http://thoranis.pytalhost.eu/frames.zip
Das Video ist ein bisschen langsam geworden, eigentlich läuft das Spiel schneller. Liegt wohl an meinem schlechten PC!
Folgendes habe ich schon ausprobiert:
-Nur den einen Frame anzeigen (wie oben beschrieben): das Problem tritt nicht auf
-Flash-Datei aus dem oberen Frame entfernen: hilft nicht
-Die Seite in verschiedenen Browsern ausprobieren:
---Firefox 1.5: Problem tritt auf
---Firefox 2.0: Problem tritt auf
---Internet Explorer 6: Problem tritt nicht auf
Hier habe ich mal den HTML-Code des Framesets eingefügt:
<html> <head> <title>Die Legende von Thoranis</title> </head> <frameset> <frame> <frame> <noframes> <body> <b>Fehler</b><br><br>Dein Browser untertützt keine Frames. Zum Spielen von THORANIS musst du einen Browser verwenden, der Frames untertützt. </body> </noframes> </frameset> </html>
Offensichtlich liegt das Problem beim Firefox. Wie lässt es sich umgehen?
Über Antworten würde ich mich freuen.
Ist dir der Fehler selber nicht aufgefallen?
Du hast die Frames im Header und nicht im Body.
Deswegen können sie nicht funktionieren:
<?<html>
<head>
<title>Die Legende von Thoranis</title>
</head>
<body>
<frameset>
<frame>
<frame>
<noframes>
<b>Fehler</b><br><br>Dein Browser untertützt keine Frames. Zum Spielen von THORANIS musst du einen Browser verwenden, der Frames untertützt.
</noframes>
</frameset>
</body>
</html>?>
Würde dir raten aber eh nicht mit Frames zu arbeiten.
Arbeite lieber mit divs.
Ist viel besser. -
Ich glaube divs würden in meinem Fall nicht funktionieren, die werden ja bei jedem Laden der Seite neu geladen. Bei Frames kann ich die Seite in einem Frame neu laden, während die Seite im anderen Frame nicht geändert wird.
Edit:
Die Frames befinden sich doch gar nicht im Header, das ist schon richtig so wie ich es da habe, ich hab bei SelfHTML nachgeguckt.
Beitrag geändert: 16.11.2006 20:31:28 von michi9999 -
Ich glaube divs würden in meinem Fall nicht funktionieren, die werden ja bei jedem Laden der Seite neu geladen. Bei Frames kann ich die Seite in einem Frame neu laden, während die Seite im anderen Frame nicht geändert wird.
Edit:
Die Frames befinden sich doch gar nicht im Header, das ist schon richtig so wie ich es da habe, ich hab bei SelfHTML nachgeguckt.
Beitrag geändert: 16.11.2006 20:31:28 von michi9999
Schau dir mal zu Divs das hier an:
http://tut.php-q.net/frames.html -
Mit den divs komme ich nicht weiter, weil wenn ich einen Link anklicke wird die gesamte Seite neu geladen. In meinem Fall darf aber der Banner-Frame (oder hier das Banner-div) nicht neu geladen werden, weil sich da eine Flash Datei befindet, die Musik abspielt, und nicht bei jedem Klick die Musik von vorne beginnen soll.
Für diese Situation ist soweit ich weiß die einzige Lösung die Aufteilung in Frames. (Oder ein Popup mit der Flash Datei zu öffnen, aber da komme ich nicht weiter --> siehe anderer Thread von mir) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage