meine Frage ist, wie kann ich ein On-Scroll-Ereignis auslösen (simulieren oder etwas anderes)? In meinem speziellen Fall möchte ich nicht alle Konservierungen in LinkedIn laden, indem ich alle Konservierungen nach unten scrolle, weil es zu viele gibt!
Ich brauche keine PHP oder Javascript-Lösung. Die Verwendung von Dev-Tools bei Chrome reicht aus, um mein Ziel zu erreichen.
Sie benötigen unbedingt eine Javascript-Lösung. Was wird das Ereignis sonst noch hören/auslösen, denkst du?
Wenn Sie ein Scroll-Ereignis feuern möchten, blättern Sie einfach wörtlich zu dem Punkt, an dem Sie sich bereits befinden, indem Sie window.scrollTo(window.scrollX, window.scrollY);
in Ihre Dev-Tools-Konsole eingeben. Alternativ können Sie eine Fälschung mit einer Kombination aus CustomEvent und der Funktion dispatchEvent durchführen.
Wenn Sie bei einem Bildlaufereignis etwas auslösen möchten, warten Sie mit Hilfe von window.addEventListener("scroll", function(evt) { ... });
auf Bildlaufseiten, und lassen Sie die Verarbeitungsfunktion das tun, was Sie tun müssen.
Dies funktioniert nicht in Chrome oder Firefox
window.scrollTo(window.scrollX, window.scrollY);
Das funktioniert bei beiden:
window.scrollTo(window.scrollX, window.scrollY - 1);
window.scrollTo(window.scrollX, window.scrollY + 1);
Nicht schick, aber funktioniert.
Beachten Sie, dass nur die erste Codezeile erforderlich ist. Mit der anderen Zeile können Sie den Bildlauf wieder dorthin zurückkehren. Ich musste eine Scroll-Funktion auf einer Taste auslösen. Wenn Sie zweimal auf die Schaltfläche tippen, ist der Effekt der Bildlaufleiste sichtbar und nicht besonders ausgefallen. Deshalb ziehe ich es vor, auch die zweite Codezeile hinzuzufügen.
Alternativ können Sie ein reales scroll
-Ereignis wie folgt manuell auslösen:
el.dispatchEvent(new CustomEvent('scroll'))
Das fühlt sich ein bisschen weniger hackig (und performanter) an als das duale Scrollen durch +1
und -1
Pixel ...
Dies sollte jeden Code ausführen, der auf ein scroll
-Ereignis wartet.
Bearbeiten: Um IE11
oder einen anderen älteren Browser zu unterstützen, sollten Sie eine CustomEvent
-Polyfill verwenden, z. B. mdn-polyfills
.
window.scrollTo(window.scrollX, window.scrollY);
funktioniert nicht für mich in Firefox . Es passiert nichts, und es scheint so zu sein, dass eigentlich kein Scrollen ausgeführt werden muss, um zu dem Ort zu gelangen, an dem Sie sich bereits befinden.
ABER window.scrollTo(window.scrollX, window.scrollY-1);
arbeitet. Mit diesem Befehl wird die Ereignisfunktion window.scroll
ausgelöst.
(Wenn Sie versuchen, zu betrügen, zum Beispiel: window.scrollTo(window.scrollX, window.scrollY-0)
funktioniert auch nicht.)
Wie alle geantwortet haben, funktioniert window.scrollTo(window.scrollX, window.scrollY);
wirklich, aber in einigen Fällen sollten Sie der aktuellen Bildlaufposition des Fensters eine Nummer hinzufügen. In meinem Fall habe ich beispielsweise 1 zu meinem scrollY und hinzugefügt dann rief scrollTo
Methode wie folgt auf:
window.scrollTo(window.scrollX, window.scrollY + 1);
Manchmal müssen Sie das scrollElement finden. In meinem Fall ist mein scrollElement body und lauffähig auf dem Handy, daher funktioniert der folgende Code gut:
document.body.scrollTo(window.scrollX, window.scrollY + 1);
Ich hoffe es wird hilfreich sein.