下の画像のように、ブラウザ拡張機能を開発していて、ツイートボタンのクリックイベントをインターセプトしたいと思います。
私はなんとかこのような要素ノードを取得することができました:
document.querySelector('div[data-testid="tweetButton"]')
これは私がやろうとしたことです:
tweetButton.addEventListener("click", function() {})
tweetButton.removeEventListener("click", function() {})
document.addEventListener
し、セレクターと照合します。コールバックは発生しますが、XHRは実行しましたが、実行event.preventDefault()
しましたevent.stopImmediatePropagation()
。イベントリスナーがアタッチされているのはこのオブジェクトではないかもしれませんが、HTMLでは「ボタン」の役割があるため、このオブジェクトである必要があります。
Ajaxリクエストを聞いて同じ目標を達成できますか?
結局のところ、解決策#2は正しかったようです。
let tweetButton = document.querySelector('div[data-testid="tweetButton"]');
tweetButton.addEventListener("click", function(event) {
event.preventDefault();
event.stopImmediatePropagation();
});
ここにオープンソースのコードがあります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加