Springen zum Anker verhindern
Thorsten
- javascript
2 Hopsel0 Thorsten0 Felix Riesterer0 Thorsten
1 Hopsel
0 frankx1 Gunnar Bittersmann
Hallo!
Ich suche nach einer Möglichkeit, per JavaScript (oder irgendwie anders) das Springen zu einem Anker zu verhindern.
Beispiel:
Wenn ein Benutzer einen solchen Link anklickt ...
http://testseite.de/index.html#hierher
... soll die Seite dennoch ganz normal geladen werden, ohne zur Position zu springen. Per JavaScript die Scroll-Position verändern will ich allerdings nicht, da man sonst einen unschönen Effekt durch das Hin- und Herspringen hätte. Besser wäre, das springen gleich zu verhindern. Allerdings auch ohne die URL zu verändern.
Geht das irgendwie?
Hi Thorsten!
Geht das irgendwie?
Wozu?
MfG H☼psel
Wozu?
Weil der Anker Teil einer modularen Tab-Menüs ist und das Springen somit eher benutzerunfreundlich wäre. Genehmigt? ;-)
Lieber Thorsten,
Weil der Anker Teil einer modularen Tab-Menüs ist und das Springen somit eher benutzerunfreundlich wäre.
warum sollten dann Links mit diesem Anker existieren?
Genehmigt? ;-)
Ach, mach' doch was Du willst! *g* Ich verstehe Dein Anliegen, jedoch ist das nur ein ganz klitzekleiner Schönheitsfehler. Da könnten sicherlich andere Aspekte Deiner Seite wesentlich wichtiger sein.
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Jungs, vergesst es. War wohl mein Fehler, hier an einem Samstag nach Hilfe zu fragen. Statt brauchbarer Antworten, nur Belehrungen von Amateuren.
Schönes Wochenende noch …
@@Thorsten:
Jungs, vergesst es. War wohl mein Fehler, hier an einem Samstag nach Hilfe zu fragen. Statt brauchbarer Antworten, nur Belehrungen von Amateuren.
Spinnst du??
Brauchbare Antworten hast du in diesem Thread bekommen. Mit brauchbaren Links. Ein brauchbarer weist dich sogar darauf hin, dass vorzugsweise nicht JavaScript einzusetzen ist, sondern serversertige Weiterleitungen.
Anscheinend reicht dein Wissensstand nicht aus, die gegebenen Hinweise zu verstehen. Dann reicht er aber erst recht nicht aus, das Niveau von anderen einzuschätzen.
Live long and prosper,
Gunnar
Anscheinend reicht dein Wissensstand nicht aus, die gegebenen Hinweise zu verstehen. Dann reicht er aber erst recht nicht aus, das Niveau von anderen einzuschätzen.
So muss es sein ;-)
Danke an frankx für den Vorschlag, aber die URL soll wie gesagt nicht verändert werden. Darum hilft mir das leider nicht. Und sonst gab es keinerlei "Hinweise". Nur die leider häufig anzutreffende Arroganz, einen Fragenden erst einmal mit den eigenen grandiosen Weisheiten aus irgend einem "Webdesign für Einsteiger"-Buch zu belehren.
Es nervt einfach nur noch.
Für alle, die an dem Problem interessiert sind: Ich mache es im Moment mit scroll(0, 0). Scheint wohl keine bessere Lösung zu existieren.
Hallo,
[...], aber die URL soll wie gesagt nicht verändert werden.
Wie kommst du zu dieser Vorgabe?
Wenn ein Benutzer eine URL mit einem Anker aufruft, dann tut er es nicht, weil er gerade Langeweile hat, sondern, weil er eben zu einem bestimmten Anker will. Wenn man die Anker eh nicht anspringen kann (soll), warum erstellst du überhaupt welche? Eine etwas ausführlichere Information als "Weil der Anker Teil einer modularen Tab-Menüs ist" würde auch anderen helfen, erstens den Sinn deines Problems zu verstehen und dann, falls möglich, zu einer Lösung zu kommen.
Gruß
Moin!
Danke an frankx für den Vorschlag, aber die URL soll wie gesagt nicht verändert werden. Darum hilft mir das leider nicht. Und sonst gab es keinerlei "Hinweise". Nur die leider häufig anzutreffende Arroganz, einen Fragenden erst einmal mit den eigenen grandiosen Weisheiten aus irgend einem "Webdesign für Einsteiger"-Buch zu belehren.
Die Sache ist doch eigentlich ganz simpel: Wenn du nicht willst, dass der Browser an eine Stelle springt, die durch den Ankerwert in der URL bezeichnet wird, sorge einfach dafür, dass nirgendwo im Dokument dieser Anker auftaucht - und schon wird die Seite immer oben am Seitenanfang angezeigt werden.
Und sollte dieser Hashwert in irgendeinem Supadupa-Modularmenü benötigt werden, dürfte es eine Kleinigkeit sein, diesen Umstand programmtechnisch zu erfassen und gesondert zu behandeln.
Für alle, die an dem Problem interessiert sind: Ich mache es im Moment mit scroll(0, 0). Scheint wohl keine bessere Lösung zu existieren.
Das ist eine ganz schlechte Lösung, weil sie nur funktioniert, wenn Javascript aktiviert ist. Keinen Anker des spezifizierten Namens in die Webseite zu packen funktioniert unabhängig davon immer. Darauf aufbauend in einem Javascript-Menü der neuen Seite auf den ja trotzdem in der URL vorhandenen Hash zu reagieren ist ja sowieso Zusatzfunktion, auf deren Vorhandensein man sich nicht verlassen kann. Insofern wäre dann auch die mit dem Anker verbundene Funktionalität optional und nur bei Vorhandensein von Javascript aktiv.
- Sven Rautenberg
Hi Thorsten!
Weil der Anker Teil einer modularen Tab-Menüs ist und das Springen somit eher benutzerunfreundlich wäre.
Was ist ein modulares Tabmenü?
Genehmigt? ;-)
Wenn du mich fragst, finde ich die Problemstellung reichlich bescheuert.
Dass ein Menü in Abhängigkeit eines Ankers aufgebaut wird, kann ich ja noch nachvollziehen (auch wenn mir da keine sinnvolle Anwendung einfällt). Aber wieso sollte das Anspringen von Ankern in einer Seite unterbunden werden.
Und anstatt dich über die Hilfe, die du bekommst, aber dir anscheinend nicht gefällt, aufzuregen, solltest du eher erklären, wo genau dein Problem liegt. Ich habe es noch nicht verstanden.
Und dazu, wie man eine Funktionalität umgeht, die ich in meinem Browser sogar häufig verwende, hast du ja nun schon Antworten bekommen.
MfG H☼psel
Hellihello
sowas wie
window.onload = function() {
location.href = "#"; // bzw. Anker am Kopf des Dokuments <body name="mainAnchor">
}
Dank und Gruß,
@@Thorsten:
Wenn ein Benutzer einen solchen Link anklickt ...
http://testseite.de/index.html#hierher
Die Gebetsmühle dreht sich weiter ...
... soll die Seite dennoch ganz normal geladen werden, ohne zur Position zu springen.
Welchen Sinn hat ein Anker, wenn man ihn nicht anspringen kann? Nutzerfreundlich ist das wohl nicht.
http://forum.de.selfhtml.org/archiv/2008/5/t170766/#m1116868
Bei hash = "#"; sollte ein Browser an den Seitenanfang springen.
Live long and prosper,
Gunnar