【Brave】サイトの長押し禁止だけ解除できる?カスタムフィルターを試した結果【Android】
2026年8月31日(月) 20時00分

Android版BraveアプリでJavaScript全体を止めず、サイト側の長押し禁止だけを解除できないかカスタムフィルターを検証した。
contextmenuやselectstart、CSSのuser-selectなど複数の方法を試した結果と、Braveのカスタムスクリプトレット対応状況をまとめる。
長押し禁止だけを解除できないか試してみた
Android版Braveアプリで、サイト側の機能を維持したまま長押し禁止だけを解除できないか試してみた。
検証対象は特定のサイトだが、ここでは仮に example.com とする。
Braveにはカスタムフィルターを追加できるため、長押しや文字選択を妨げていそうな処理だけを狙って無効化できないか検証した。
contextmenuだけでは変わらなかった
最初に試したのは contextmenu のイベントリスナーを対象とするフィルターだった。
example.com##+js(aeld, contextmenu)
しかし自分の環境では長押しできるようにはならなかった。
そこで selectstart やCSSによる文字選択禁止も考え、対象を増やしてみた。
example.com##+js(aeld, contextmenu)
example.com##+js(aeld, selectstart)
example.com###contentInner:style(-webkit-touch-callout:default !important;-webkit-user-select:text !important;user-select:text !important;)
example.com###contentInner *:style(-webkit-touch-callout:default !important;-webkit-user-select:text !important;user-select:text !important;)
これでも結果は変わらなかった。
タッチ操作や直接指定されたイベントも試した
次に touchstart や pointerdown などで preventDefault() が使われている可能性を考えた。
example.com##+js(aeld, /^(?:touchstart|touchend|pointerdown|pointerup)$/, preventDefault)
さらに addEventListener() ではなく、document.oncontextmenu などへ直接処理が設定されている可能性も考えてフィルターを追加した。
example.com##+js(set, document.oncontextmenu, noopFunc)
example.com##+js(set, document.onselectstart, noopFunc)
example.com##+js(set, document.ondragstart, noopFunc)
example.com##+js(set, document.onmousedown, noopFunc)
example.com##html:style(-webkit-user-select:text !important;user-select:text !important;-webkit-touch-callout:default !important;)
example.com##body:style(-webkit-user-select:text !important;user-select:text !important;-webkit-touch-callout:default !important;)
ここまで一括で適用してみたものの、自分が試したBraveでは長押しできる状態にはならなかった。
少なくとも今回のサイトでは、単純に contextmenu や user-select だけを解除すれば解決する仕組みではなかったようだ。
Android版Braveでは自由なカスタムスクリプトレットに制限がある
Braveにはカスタムスクリプトレットという高度な機能もある。
Brave公式ではデスクトップ版1.75から、ユーザーが独自のスクリプトレットを書いてWebページへ挿入できる機能が案内されている。
一方でAndroidとiOSへのカスタムスクリプトレット対応については、BraveのGitHubでモバイル向けの実装が機能要望として管理されている。
ここで注意したいのは、Braveで ##+js() を使った処理がすべて利用できないという意味ではないことだ。
Braveの広告ブロック機能自体ではAndroidでもscriptletが使われている。ただしデスクトップ版のように、自分で任意のJavaScriptを書いてカスタムスクリプトレットとして登録する機能には違いがある。
今回のように既存のカスタムフィルターだけでは解決できなかった場合、Braveではさらに自由なJavaScriptを書いて長押し禁止処理だけを書き換える方法を取りにくい。
今回の検証では長押し禁止だけの解除には至らなかった
今回試した範囲では contextmenu、selectstart、タッチ系イベント、user-select、-webkit-touch-callout などを対象にしても長押し禁止だけを解除することはできなかった。
フィルターが効かなかったからといって、それぞれの構文そのものが無効とは限らない。対象サイトが別の仕組みで長押しを制御している可能性もある。
ただBraveでは、デスクトップ版のカスタムスクリプトレットのように任意のJavaScriptを登録してページの動作を書き換える方法には制約がある。
結果として自分が検証した環境では、サイトのほかのJavaScriptをそのまま動かしながら、長押し禁止だけをピンポイントで解除するところまでは実現できなかった。
スマホ版Braveでは今後実装されるのか
自分がやろうとしていたのは、JavaScript全体を無効にするのではなく、独自のJavaScriptを特定サイトへ挿入して長押し禁止の処理だけを書き換える方法だ。
この用途に使えるBraveの「カスタムスクリプトレット」は、デスクトップ版ではBrave 1.75から実装されている。一方でAndroidやiOSを含むモバイル版ではまだ実装されていない。
BraveのGitHubではモバイル版へのカスタムスクリプトレット実装がfeature requestとして登録され、現在もOpenになっている。さらにPlanned workとして扱われているため、単に要望が出ているだけではなく実装予定の作業として認識されているようだ。
ただし現時点では実装時期までは決まっていない。将来的にスマホ版でもカスタムスクリプトレットが利用できるようになれば、今回やろうとしていた長押し禁止だけを書き換える方法も試しやすくなりそう。
この記事にコメントする
カテゴリー
最近の記事一覧
【ChatGPT】会話の一番下から上へスワイプすると新規チャットへ移動できるようになった
予定がない休日をどう過ごすか|時間で縛らない自分なりの考え方
【Wi-Fiルーター】LANとINTERNET端子を間違えていた|半年以上使って気づいたこと
【Googleサーチコンソール】サイトマップの最終読み込み日時が更新されない
【Instagram】ストーリーを開くと一瞬で閉じる不具合|同じ症状のユーザーはいる?
【Samsung Notes】貼り付けの改悪が改善されていた|「書式に合わせて貼り付け」が便利
【GPT-6 Astra】Plusへの提供が確定|OpenAI公式などが相次いで発表
【ChatGPT】タスク追加時に「limit of 5 active tasks」エラーで作成できない
【Grok】データセンター障害の影響で一部機能が利用できない不具合
OpenAIがGPT-6 Astraを発表!次世代ChatGPTは何が変わったのか
【ChatGPT】『リクエストに問題があります』エラー発生|大規模障害でチャットを送信できない状態に
風邪をひいた。喉の痛みと咳が強くなってきた
【ChatGPT】「追加の安全性チェック」とは?この現象を調べてみた
ガソリンスタンドで車の向きが逆だと給油できない?Xで話題になったポストについて
【X(Twitter)】アカウント乗っ取り被害の報告相次ぐ| 「誤って通報した」詐欺DMに注意





登録ユーザーの方はこちらからログイン▼ 名前が自動設定され、画像認証が不要になります
ユーザー登録がおすすめ!
コメントが同じユーザーの投稿として関連付けられ、継続してコメントしやすくなります。
データに関するポリシー
ご登録いただくメールアドレスは、本人確認やパスワードの再設定のみに使用され、利用者の事前の同意を得ずに目的以外でこれを利用することはありません。また、個人情報を他の業者等に提供することもありません。
個人情報はホームページシステムのデータベースに保存されますが、当サイト(ライフログメモ)の運営者に対してメールアドレスは伏せられるため、運営者がメールアドレスを取得することはできません。
警察への捜査協力や裁判所からの情報開示要求の際には情報開示を行う場合がございます。