bei Klick auf Suchergebnis zur Treffer-Stelle scrollen (Support für das Suchscript)

LK2023, Monday, 15.05.2023, 17:59 (vor 556 Tagen)

Vielen Dank erstmal für das tolle Script und die umfangreiche Dokumentation.
Habe es testweise installiert. Wenn ich in den Suchergebnissen auf einen Treffer klicke, wird im Browser die entspechende Seite geladen, der Text dort gehighlightet - prima. Ich lande aber immer ganz oben auf der Seite. Wenn der Treffer weit unten ist, muss ich entsprechend weit runterscrollen, um zum Treffer zu gelangen. Geht das scrollen auch automatisch, per injeziertem Anker o.ä.?
Viele Grüße,
LK

Eintrag gesperrt
2678 Views

bei Klick auf Suchergebnis zur Treffer-Stelle scrollen

LK2023, Monday, 15.05.2023, 18:06 (vor 556 Tagen) @ LK2023

Hier der Link zur betr. Seite:
fbk-dev.lutzkasper.de/index-suche.php
(Die anderen Seiten der Site sind noch .html, bisher funktioniert also nur die eine Seite wie gewünscht).

Eintrag gesperrt
2707 Views
Avatar

bei Klick auf Suchergebnis zur Treffer-Stelle scrollen

Fritz ⌂, Monday, 15.05.2023, 18:32 (vor 556 Tagen) @ LK2023

Geht das scrollen auch automatisch, per injeziertem Anker o.ä.?

Ja, das geht.
Dazu in jede Seite, auf der Treffer angesprungen werden sollen, folgendes einfügen:

  • <link rel="stylesheet" type="text/css" href="wdw_suche/wdw_suche.css" />
  • jQuery, also z.B.
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.0/jquery.min.js" ></script>
  • <script src="wdw_suche/wdw_suche.js"></script>

Sowie ans Ende jeder Seite folgendes Script:


<script>
$(window).on("load", function (e) { // jQuery 3.x braucht das
// $(window).load(function() { 
 var next;
 var before = 10; /* so viele px oberhalb des Ziels anspringen */

 next = $( "body" ).find( "[class^=searchword]" );
 
 if (next.length) {
  if (window.location.search.indexOf("q=") !== -1 && window.location.href.indexOf("suchen.php") == -1) {
   $("html, body").animate({ scrollTop: next.offset().top - before }, 400); // 400 ist die Dauer in ms für das sichtbare Scrollen
  }
 }
});
</script>
Eintrag gesperrt
2679 Views

bei Klick auf Suchergebnis zur Treffer-Stelle scrollen

LK2023, Monday, 15.05.2023, 21:10 (vor 556 Tagen) @ Fritz

Vielen Dank, das klingt ja sehr vielversprechend!

Ich habe alle Teile in die Beispielseite fbk-dev.lutzkasper.de/index-suche.php eingebaut, aber leider lande ich nach wie vor am Seitenanfang (z.B. wenn ich "Veranstaltungsangebote" suche - letztes Wort auf Seite).
Was hab ich falsch gemacht?

1000Dank im Voraus,
LK

Eintrag gesperrt
2639 Views
Avatar

bei Klick auf Suchergebnis zur Treffer-Stelle scrollen

Fritz ⌂, Monday, 15.05.2023, 22:17 (vor 555 Tagen) @ LK2023

Die Seite http://fbk-dev.lutzkasper.de/index-suche.php generiert leider eine ganze Reihe von JavaScript Fehlern. Siehe unten.
Es ist nicht auszuschließen, dass einer dieser Fehler das Script zu "Anspringen" blockiert.

Ich schlage vor, eine einfache (PHP-)Testseite aufzusetzen, die nur die Elemente enthält, die zum "Anspringen" erforderlich sind, sowie Text, der vom Suchscript gesucht werden kann.


########################
Error parsing a meta element's content: ';' is not a valid key-value pair separator. Please use ',' instead.
lightbox.js:72 Uncaught TypeError: $ is not a function
at Lightbox.enable (lightbox.js:72:5)
at Lightbox.init (lightbox.js:64:10)
at new Lightbox (lightbox.js:32:10)
at lightbox.js:452:10
at lightbox.js:25:25
at lightbox.js:27:2
jquery.tools.min.js:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVED
index-suche.php?q=friedensorganisationen:264 Uncaught ReferenceError: $ is not defined
at index-suche.php?q=friedensorganisationen:264:3
video-replace-b.js:27 Uncaught TypeError: Cannot read properties of null (reading 'insertAdjacentHTML')
at video-replace-b.js:27:9
map-replace-b.js:23 Uncaught TypeError: Cannot read properties of null (reading 'insertAdjacentHTML')
at map-replace-b.js:23:7
DevTools failed to load source map: Could not load content for http://fbk-dev.lutzkasper.de/lightbox/js/lightbox-plus-jquery.min.map: HTTP error: status code 300, net::ERR_HTTP_RESPONSE_CODE_FAILURE

Eintrag gesperrt
2678 Views

bei Klick auf Suchergebnis zur Treffer-Stelle scrollen

LK2023, Tuesday, 16.05.2023, 11:01 (vor 555 Tagen) @ Fritz

Herzlichen Dank für Ihr schnelles Feedback und Ihre kleine techn. Analyse.
Das Friedensbildungswerk will überlegen, ob es eine Suchfunktion auf seiner Site ergänzen lassen möchte. Ich wäre allerdings mit dem offensichtlich notwendigen techn. Javascript-Troubleshooting überfordert. Wären Sie ggf. bereit, uns ein Angebot dazu machen, die Funktion lauffähig in die Site einzubauen? So dass sich alle vorhandenen Scripte und das Such-Script miteinander vertragen?
Viele Grüße,
LK