私の質問は、どのようにスクロールイベントをトリガー(シミュレートまたは何かesle)できますか?私の特殊なケースでは、LinkedInですべての保護をロードしたくありません。
PHPまたはJavascriptソリューションは必要ありません。chromeでdev-toolsを使用するだけで目標を達成できます。
または、次のように実際のscroll
イベントを手動でトリガーできます。
el.dispatchEvent(new CustomEvent('scroll'))
+1
ピクセルと-1
ピクセルによるデュアルスクロールよりも、ハックの感じが少ない(そしてパフォーマンスが高い).
これにより、scroll
イベントをリッスンするコードを実行できます。
編集:IE11
またはその他のレガシーブラウザをサポートするには、mdn-polyfills
などのCustomEvent
ポリフィルの使用を検討してください
これはChromeまたはFirefoxでは動作しません
window.scrollTo(window.scrollX, window.scrollY);
これは両方で機能します:
window.scrollTo(window.scrollX, window.scrollY - 1);
window.scrollTo(window.scrollX, window.scrollY + 1);
派手ではありませんが、動作します。
コードの最初の行のみが必要であり、他の行はスクロールを元の場所に戻すだけであることに注意してください。ボタンのスクロール機能をトリガーする必要がありました。ボタンを2回タップすると、スクロールの効果が表示され、あまりおもしろくありません。そのため、2行目のコードも追加することを好みます。
Javascriptソリューションが絶対に必要です。他にイベントのリスニング/トリガーを行う予定はありますか?
スクロールイベントをfireしたい場合は、開発ツールコンソールでwindow.scrollTo(window.scrollX, window.scrollY);
と入力することで、文字通り既にある場所までスクロールします。または、 CustomEvent と dispatchEvent 関数の組み合わせを使用して、偽物を作成することもできます。
スクロールイベントで何かをトリガーする場合は、window.addEventListener("scroll", function(evt) { ... });
を使用してスクロールをリッスンし、処理関数に必要な処理を実行させます。
Firefoxではwindow.scrollTo(window.scrollX, window.scrollY);
が機能しません。何も起こらず、実際にスクロールする必要がないため、準備ができている場所に移動する必要があるようです。
ただし、window.scrollTo(window.scrollX, window.scrollY-1);
は機能しています。このコマンドにより、_window.scroll
_イベント関数が発生します。
(例えば、チートしようとする:window.scrollTo(window.scrollX, window.scrollY-0)
も機能していません。)
誰もが答えたように、window.scrollTo(window.scrollX, window.scrollY);
は本当に機能しますが、場合によっては、ウィンドウの現在のスクロール位置に数値を追加する必要があります。たとえば、私の場合は1をscrollYに追加し、次に、次のようなscrollTo
メソッドを呼び出します。
window.scrollTo(window.scrollX, window.scrollY + 1);
場合によっては、scrollElementを見つける必要があります。私の場合、私のscrollElementはbodyであり、モバイルで実行されているため、以下のコードは正常に機能します。
document.body.scrollTo(window.scrollX, window.scrollY + 1);
役に立てば幸いです。