Eingeklappte Bausteine durchsuchbar, klappen aber nicht von alleine bei Treffer auf

Nusspli

Mitglied
Guten Morgen,

leider klappt das immer noch nicht.

Ich habe den oben geposteten Code gleich gelassen und nur deine Änderung überschrieben.
Bei mir habe ich nach .documentElement dieses clientHeight nicht im dropdown und wird (wenn ichs manuell hinschreibe) auch nur in schwarz und nicht wie bei dir in diesem fliederrot/lila dargestellt. Auch die 2 ist bei dir rot, bei mir bleibt sie schwarz.
 

tombe

Erfahrenes Mitglied
Schönen guten Morgen,

mit den Farben meinst du das wie es oben dargestellt wird? Das ist dann aber nur die Optik.

Klär mich bitte nochmal auf.
Das Beispiel von mir funktioniert aber wenn du den gleichen Code in deine Datei einfügst geht es nicht (mehr)?

Hast du beide Dateien im gleichen/mit den gleichen Browsern getestet und welche Browser sind das nochmal die bei dir im Einsatz sind?

NACHTRAG: Hast du die Möglichkeit zu debuggen? Wenn ja setzt mal bitte einen Haltepunkt an die Stelle wo "window.scrollTo" steht und schau dann welchen Wert die Variable "pos" hat.
 
Zuletzt bearbeitet:

Nusspli

Mitglied
Expression Web bietet leider keine Möglichkeit zum debuggen.
Habe hier noch Visual Studio, allerdings reichen meine Berechtigungen intern nicht aus um das Programm auszuführen. :(
Gibt es eine Art online-Debugger?

Das mit den Farben irritiert mich nur etwas, da Variable oder Verweise immer (wie bei dir auch) in einer etwas anderen/auffälligeren Farbe dargestellt werden. Das ist gerade hier bei diesem Befehl nicht der Fall... und dieses .clientHeight gibt es bei mir nicht in der Auswahl.

Benutzt wird der IE...und ja, ich habe beide Dateien im gleichen Browser getestet.
Keine funktioniert unter IE.... unter FF allerdings schon...zumindest deine. Meine Version kann ich auf FF nicht testen.
 

tombe

Erfahrenes Mitglied
Debuggen kannst du direkt im Internet Explorer, drücke dazu mal die F12 Taste wenn du ihn geöffnet hast!

Welche IE Version hast du, nur falls es da unterschiede gibt.

Ich wollte jetzt eigentlich schreiben das wenn du mit dem Internet Explorer arbeitest und ich es immer mit Firefox getestet habe, das es dann am IE bzw. irgendeinem Befehl liegt den der IE nicht kennt. Habe es aber jetzt mal selber damit getestet und es geht auch da.

Mache bitte zwei Dinge:

1) wenn es bei Expression Web eine eingebaute Vorschaufunktion gibt, dann nimm NICHT diese sondern lasse dir die Seite im Internet Explorer anzeigen und teste da.

2) schau dir bitte den oben beschriebenen IE-Debugger an und prüfe was die Variable "pos" für einen Wert bekommt.
 

Nusspli

Mitglied
Funktioniert leider nicht...ist im Moment noch IE 7. Allerdings wird im Laufe des Jahres wahrscheinlich auf Win7 mit einem neueren IE umgestellt. Diese Tools habe ich standardmäßig hier nicht zur Verfügung und kann sie nicht nachinstallieren (sofern überhaupt möglich).

zu 1) Das habe ich bisher immer gemacht, da das Vorschaufenster mein Layout usw. eh nicht übernimmt. Daher arbeite ich nur in der Code-Ansicht und Vorschau im normalen IE.

zu 2) geht nicht. :)
 

tombe

Erfahrenes Mitglied
Habe jetzt nochmal im Netz gesucht und so wie es aussieht erkennt IE wirklich die Höhe nicht und kann somit nicht scrollen.

Was scheinbar auch eine Rolle spielen kann ist wenn diese Angabe fehlt:
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Schau mal ob und wenn ja was du da stehen hast!

Wenn Punkt 2 nicht geht, dann trage mal ins das Skript bitte folgende Zeile ein und schau was rauskommt. Kannst du dann auch gleich wieder löschen.

Javascript:
document.title = "WH " + window.innerHeight + " CH " +document.documentElement.clientHeight + " OT " + document.getElementById("treffer").offsetTop;

Der letzte Wert (OT) wird beim ersten Mal vermutlich einen Fehler verursachen da hier die Position des Treffers (Suchbegriffs) ermittelt wird.

Der Titel der Seite sollte beim Suchen nun drei nummerische Angaben enthalten, wenn was anderes als Zahlen da steht, wissen wir woran es liegt.
 

Nusspli

Mitglied
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html dir="ltr" xmlns="http://www.w3.org/1999/xhtml">

Das steht bei mir im Kopf..... also ein bisschen abgeändert.

Füge ich deinen Code ein ist der Titel bei einem Treffer:
WH undefined CH 950 OT 1

Das steht dann da... :)
 

tombe

Erfahrenes Mitglied
Also wenn bei CH ein Wert ausgegeben wird, dann müsste es doch eigentlich wie in Beitrag 40 geschrieben so klappen:

Javascript:
pos = document.getElementById("treffer").offsetTop - (document.documentElement.clientHeight / 2);

Diese "Funktion", also clientHeight, liefert nur dann einen korrekten Wert wenn auch ein gültiger DOCTYPE in der Seite vorhanden ist!

Versuche das bitte nochmal.
 

Nusspli

Mitglied
Guten Morgen... :)

Nein, es tut mir leid. Es funktioniert leider nicht. Die Treffer wandern dann irgendwann aus dem Blickfeld und es wird nicht neu positioniert; das "flackern" bleibt.
 

tombe

Erfahrenes Mitglied
Es sind wohl 2 Probleme die wir haben:

1) der Internet Explorer 7 erkennt scheinbar das scrollTo-Ereignis nicht so richtig und deshalb klappt es nicht
2) da ich schon eine neuere Version habe, kann ich den Fehler nicht nachstellen und weiß deshalb nie ob es bei dir auch geht

Was ich eben hier im Forum gefunden habe ist zwar schon etwas älter und den Sinn verstehe ich auch nicht so wirklich aber es soll geholfen haben.

So leid es mir tut: du musst probieren ob es hilft!?