Florians Forum » Webmaster » Ideen für Skripte und sonstige Quellcodes » Scrollen

Hallo Florian,
hast du noch eine Idee, woran es liegen könnte, dass sobald ich im Template obere Leiste die Zeile
<body marginheight="0" marginwidth="0" leftmargin="0" rightmargin="0" topmargin="0" bottommargin="0" > um den Befehl onload="funktion()" ergänze bei dem IE-Explorer eine Fehlermeldung kommt?
<body marginheight="0" marginwidth="0" leftmargin="0" rightmargin="0" topmargin="0"bottommargin="0"onload="funktion()" >
Auch in dem Template obere Leiste,was du mir geschickt hattest, kommt die Fehlermeldung!
Gruß
Frank

Meine Zeile sieht so aus:
Es könnte sein, dass die Funktion fehlt oder aus versehen abgeändert wurde.
Wenn dann etwas nicht mehr stimmt, könnte das die Fehlermeldung verursachen.

sehe aber gerade, dass auch bei diesem Forum die gleiche Meldung kommt im IE!



Die Fehlermeldung war aber nicht schlimm, nur unschön.
Der Fehler kan dadurch zustande, dass immer zu dem Anker gescrollt werden sollte. Auf jeder Seite, auf der kein Anker (hier: scroll_to) vorhanden war, erschien diese Meldung, da eben das Objekt nicht existierte.
Hier das fertige Skript:
// Automatisch scrollen
function goto_anker() {
if (window.location.hash.slice(0, 4) != '#msg' && document.getElementsByName("scroll_to")[0]) {
document.getElementsByName("scroll_to")[0].scrollIntoView(true);
}
}
</script>
scroll_to muss zweimal durch den Ankernamen ersetzt werden.
Neben der Überprüfung, ob schon ein Anker #msg1234 angesprungen wurde, wird nun auch überprüft, ob der Anker scroll_to existiert.
Außerdem wurde document.all nun durch den Standard document.getElementsByName ersetzt.
Als letztes muss nur noch das Body-Tag wieder um onload="goto_anker()" ergänzt werden. (oder diese AnleitungEine Erklärung, um das Body-Tag nicht mit vielen Funktionsaufrufen zu überfluten. befolgen)
Die fertige AnleitungEine bereits vorhandene und vollständige Anleitung wurde nochmals überarbeitet und aktualisiert. wurde aktualisiert.

Hallo Florian,
irendwie funktioniert das Script noch nicht.
wo kommt das ".ziel" hin?
Gruß
Wolfgang

Alles genau so durchführen wie in dieser AnleitungHier sind schon alle Veränderungen eingebaut..
Im Head-Bereich dieses Skript einfügen:
// Automatisch scrollen
function goto_anker() {
if (window.location.hash.slice(0, 4) != '#msg' && document.getElementsByName("scroll_to")[0]) {
document.getElementsByName("scroll_to")[0].scrollIntoView(true);
}
}
</script>
Im Body-Tag onload="goto_anker()" ergänzen.
Im Template nur noch an die Stelle, an die gescrollt werden soll,
Anstatt scroll_to kann natürlich auch ein anderer Name angegeben werden. Dann müssen alle scroll_to durch den anderen Namen ersetzt werden.

Hallo Florian,
erneut Danke für Deine tolle Arbeit.
Nutzer des "Safari-Browser" werden sich auch freuen!
Ich habe den Wald vor lauter Bäumen nicht gesehen.
Funktioniert alles perfekt!
Ich habe den neuen Ziel-Anker nicht gleich erkannt.
<a name="ziel"></a> ----> <a name="scroll_to"></a>
Gruß
Wolfgang

die Fehlermeldung ist nun weg

Eine Frage noch, das Script funktioniert in allen Foren einwandfrei, nur habe ich im deutschen und im türikischen Bereich eine Kategorie - Vorstellung neuer Mitglieder (sh. Anhang). Wenn ich in dieser Kategorie z.B. auf den letzten Beitrag klicke, springt er nicht zum gesetzten Anker. In allen anderen Kategorien des Forum funktioniert es einwandfrei. Ergibt doch eigentlich gar keinen Sinn oder? Dies ist im türkischen und im deutschen Bereich, dass der Anker nur in der Kategorie Vorstellung neuer Mitglieder nicht funktioniert!
das Foto ist nur der Sreenshot aud dem deutschen Bereich!

In einer der Template-Variablens. Screenshot sollte aber kein JavaScript gesetzt sein, das die Funktion evtl. durch einen Fehler beeinträchtigt.
Testweise sollte es also entfernt werden.
Der Anker darf im Template nicht so gesetzt werden, dass er nur durch eine bestimmte Bedingung erfüllt wird.
In dem einen Template-Element wird ein Teil der Seite erst angezeigt, wenn vorschau gedrückt wurde.
Ist das Skript in so einem Bereich definiert, wird es nicht ausgeführt, außer die Bedingung wird erfüllt.
Das einzig komische daran ist, dass es in den anderen Foren trotzdem funktioniert.
Gibt es aber vielleicht Probleme durch die Sprachunterstützung im Template, oder vielleicht andere Sonderzeichen?

vielen Dank für den Tipp. Ich hatte den Anker tatsächlich zwischen einer Bedingung gesetzt und somit ist in den Foren, wo eine bestimmte Gruppe Leserechte hatte der Fehler aufgetreten!