Script
Frank
- html
0 Struppi1 Ashura- sonstiges
0 Felix Riesterer0 Cybaer
Hallo,
folgendes Script möchte ich wegen unterschiedliche Auflösungen von Browsern verwenden:
<html><head><title>Test</title>
<script type="text/javascript">
if (screen.width >= 1152) {
window.location.href = "index.html";
} else {
window.location.href = "1willkommen.htm";
}
</script>
</head><body>
</body></html>
Die Seite "1willkommen.html" wird bei entsprechender Voraussetzung korrekt angesprochen. Jedoch wird bei einer Auflösung von >= 1152 die Seite "index.html" nicht mehr geladen (Dauerschleife beim Ladevorgang). Was mache ich falsch? Wie muss ich o.g. Script in HTML einbauen, damit alles ordnungsgemäß funktioniert?
Für Hilfe wäre ich sehr dankbar
Frank
folgendes Script möchte ich wegen unterschiedliche Auflösungen von Browsern verwenden:
Mach sowas nicht!
Das ist i.d.R. Unsinn.
Damit halst du dir nur unnötige Arbeit auf.
Struppi.
folgendes Script möchte ich wegen unterschiedliche Auflösungen von Browsern verwenden:
Mach sowas nicht!
Das ist i.d.R. Unsinn.
Damit halst du dir nur unnötige Arbeit auf.Struppi.
Was kann ich denn alternativ machen?
P.S. Danke für die schnelle Antwort
Was kann ich denn alternativ machen?
Mit HTML/CSS kannst du relativ gut Layouts entwickeln, die sich an das Browserfenster anpassen, egal wie gross das Fenster ist und welche Auflösung verwendet wird. Das ist die Stärke von HTML/CSS.
Struppi.
Hallo Frank.
folgendes Script möchte ich wegen unterschiedliche Auflösungen von Browsern verwenden:
Ich habe noch nie einen Browser gesehen, der über eine Auflösung verfügt.
Höchstens Monitore verfügen über eine solche, aber diese ist sowieso irrelevant.
Einen schönen Montag noch.
Gruß, Ashura
Lieber Frank,
ich stimme Struppi vollkommen zu, wenn er schreibt, dass Dein Vorhaben in der Regel Unsinn ist.
Wenn Du es dennoch nicht lassen möchtest, dann betrachten wir einmal Deine Verzweigung genauer:
if (screen.width >= 1152) {
window.location.href = "index.html";
} else {
window.location.href = "1willkommen.htm";
}
Der Browser prüft, ob die Bildschirmauflösung in der Breite größer oder gleich 1152 ist, um daraufhin eine Datei namens "index.html" zu laden, oder aber bei Nichterfüllung der Bedingung die Datei "1willkommen.html" zu laden.
Wo steht nun dieses Script? Ich denke doch, dass es in der Index-Datei steht, die ja als erstes Deiner Webpräsenz geladen werden wird, und wo eine solche Prüfung ja gerade (weil vorher geht nicht) stattfinden soll.
Wenn jetzt Dein Script entscheidet, dass die "index.html" geladen werden soll, in welcher ebendiese Prüfung schon wieder durchgeführt wird (denn von dort kommen wir ja gerade), dann solltest Du \_zusätzlich\_ prüfen, ob wir uns schon in der "index.html" befinden, da es sonst zu einer Endlosschleife führt.
Wir müssen also unsere if-Bedingung erweitern:
`if (screen.width >= 1152 && window.location.[link:http://de.selfhtml.org/javascript/objekte/location.htm#pathname@title=pathname] != '/index.html' && window.location.pathname != '/')`{:.language-javascript}
Liebe Grüße aus [Ellwangen](http://www.ellwangen.de/),
Felix Riesterer.
Hallo Felix
Wir müssen also unsere if-Bedingung erweitern:
Ich denke, eher verkürzen.
if (screen.width >= 1152 && window.location.[link:http://de.selfhtml.org/javascript/objekte/location.htm#pathname@title=pathname] != '/index.html' && window.location.pathname != '/')
Wenn wir davon ausgehen, dass sich das Script in der /index.html befindet,
würde also _immer_ 1willkommen.htm aufgerufen.
Das Script müsste eher so aussehen:
if (screen.width < 1152) {
window.location.href = "1willkommen.htm";
}
Auf Wiederlesen
Detlef
Lieber Detlef,
Das Script müsste eher so aussehen:
if (screen.width < 1152) {
window.location.href = "1willkommen.htm";
}
so gesehen hast Du Recht! :-) Ich hätte es einfacher haben können - stimmt. Aber ich mache ja generell eine solche Prüfung nicht, da ich versuche, meine Seiten für jeden Browser und jede Auflösung zu "optimieren". \*g\*
Liebe Grüße aus [Ellwangen](http://www.ellwangen.de/),
Felix Riesterer.
Hi,
folgendes Script möchte ich wegen unterschiedliche Auflösungen von Browsern verwenden:
Es gibt mitunter durchaus Gründe, die für eine Auflösungsweiche sprechen, aber:
1. screen.width ist absolut irrelevant - relevant ist die Größe des Browserfensters.
2. doppelte Seiten sind absolut unnötig. Du fragst mit JS die Größe ab, also kann Du innerhalb *einer* Seite mit Hilfe von JS auch alles so machen, wie es die aktuelle Situation erfordert!
Gruß, Cybaer