sprungmarken-script und mac
günther
- javascript
hallo,
ich hab seit Jahren eine Seite im Netz, in der ueber ein Script die aktuelle Veranstaltung bzw. Sprungmarke des Tages angesteuert wird.
In letzter Zeit beschweren sich Macuser, die Seite wuerde "huepfen" oder sich "staendig neu aufbauen".
Ich kann mir das zwar ungefaehr vorstellen aber nicht genau, da ich keinen Maczugang hab. Im Script selber ist meiner Meinung nach kein Grund fuer einen Reload (wenn sie huepft natürlich doch).
Koennte sich das mal jemand mit einem Mac u. IE anschauen, und mir den Effekt verstaendlich beschreiben?
Vielleicht kennt sogar jemand die Loesung?
Es geht um die Startseite.
Danke, Günther
Koennte sich das mal jemand mit einem Mac u. IE anschauen, und mir den Effekt verstaendlich beschreiben?
Was denn?
Es wäre sinnvoll, wenn du einfach zeigst was du machst, ich kann auf deiner Seite kein "Sprungmarken Skript" (was immer das ist) entdecken.
Evtl. machst du folgendes:
location.href ="#anker";
Das wurde aber schon öfters hier gesagt, das es dafür eine Eigenschaft gibt, die auch so in selfhtml steht http://selfhtml.teamone.de/javascript/objekte/location.htm#hash. denn die Zuweisung location.href führt in manchen Browsern zu einem Neuladen der Seite.
Struppi.
Was denn?
Den "Huepfeffekt", weil ich selbst keinen Mac hab.
Es wäre sinnvoll, wenn du einfach zeigst was du machst, ich kann auf deiner Seite kein "Sprungmarken Skript" (was immer das ist) entdecken.
OK, ich definier eine Variable fürs Datum, die übernehm ich per body onload in den Verweis zu der Sprungstelle im Dokument mit der aktuellen Veranstaltung, dazu benutz ich tatsächlich
"this.location.href=this.location.href+'#'+datum" (Sprungmarken- Script)
Evtl. machst du folgendes:
location.href ="#anker";
Das wurde aber schon öfters hier gesagt, das es dafür eine Eigenschaft gibt, die auch so in selfhtml steht http://selfhtml.teamone.de/javascript/objekte/location.htm#hash. denn die Zuweisung location.href führt in manchen Browsern zu einem Neuladen der Seite.
Ich bin leider nicht gut in JS, aber ich versteh die hash- Methode lediglich als Alternative zu meinem Script, den Anker in der URL zu speichern...?
günther
Was denn?
Den "Huepfeffekt", weil ich selbst keinen Mac hab.Es wäre sinnvoll, wenn du einfach zeigst was du machst, ich kann auf deiner Seite kein "Sprungmarken Skript" (was immer das ist) entdecken.
OK, ich definier eine Variable fürs Datum, die übernehm ich per body onload in den Verweis zu der Sprungstelle im Dokument mit der aktuellen Veranstaltung, dazu benutz ich tatsächlich
"this.location.href=this.location.href+'#'+datum" (Sprungmarken- Script)
Damit lädst du, wie ich es schon gesagt habe, mit manchen Browsern die Seite neu.
Ich bin leider nicht gut in JS, aber ich versteh die hash- Methode lediglich als Alternative zu meinem Script, den Anker in der URL zu speichern...?
Nein, mit dem Hash Attribut springst du zu einem Anker, mit dem href Atrribut, weist du den Browser an eine neue Seite zu laden. Es sind zwei völlig verschiedene Dinge. Die zufälligerweise in deinem Browser gleich funktionieren.
Struppi.
Nein, mit dem Hash Attribut springst du zu einem Anker, mit dem href Atrribut, weist du den Browser an eine neue Seite zu laden. Es sind zwei völlig verschiedene Dinge. Die zufälligerweise in deinem Browser gleich funktionieren.
Superverstaendlich, danke, aber zur Sicherheit nochmal:
ich ersetze also
"this.location.href=this.location.href+'#'+datum"
durch
"location.href=this.location.hash+'#'+datum"
?
Das funktioniert bei mir beides (leider nicht mit Opera) gleich gut
unterdessen hab ich noch
"location.href='URL'+'#'+datum"
ausprobiert, das funzt sogar noch besser, weil beim Aktualisieren der Anker nicht mehr zugrundeliegt.
Das lad ich gleich mal hoch, koenntest du mit deinem Mac bitte nochmal danach schauen?
yep!
Damit gehts auch in opera
Danke fuer die Mühe,
günther
Superverstaendlich, danke, aber zur Sicherheit nochmal:
ich ersetze also
"this.location.href=this.location.href+'#'+datum"
durch
"location.href=this.location.hash+'#'+datum"
Nein,
window.location.hash='#'+datum"
Allerdings nicht im Opera.
"location.href='URL'+'#'+datum"
ausprobiert, das funzt sogar noch besser, weil beim Aktualisieren der Anker nicht mehr zugrundeliegt.
Das lad ich gleich mal hoch, koenntest du mit deinem Mac bitte nochmal danach schauen?
Isch habe keinen Mac.
Struppi.