2018年10月30日火曜日

Chrome拡張でクリックイベントを完全に止める

クリックイベントにcookieを付けて必ず広告を表示させてくるケースを見かけるようになった。
iframeを使うクリックジャッキングなら様々な防ぎ方があるけど、 そういった方法では防ぐ事ができないポップアップだし、何よりやられると鬱陶しさが半端じゃない。

この問題は、Chrome拡張なら以下のように設定する事で防げる。 要約すると、このコードの宣言以降はクリックイベントの上書きを禁止する命令です。 Chrome拡張を "run_at": "document_start" で実行すれば鬱陶しいクリックイベントを仕込んでくる処理を無効化できる。
if (location.host == "www.hoge.com") {
  document.addEventListener('click', event => event.stopImmediatePropagation(), true);
  document.addEventListener('mousedown', event => event.stopImmediatePropagation(), true);
  document.addEventListener('touchend', event => event.stopImmediatePropagation(), true);
  document.addEventListener('touchstart', event => event.stopImmediatePropagation(), true);
}

全サイトに適用すると便利な機能まで削除してしまうので、 本当に鬱陶しいサイトだけにしましょう。

0 件のコメント: