まれにあるんですよね。テキストが選択でないサイト。
CSS User-selection:none と
以前に書いたCSSでユーザーの文字列選択をさせない:no-selection css - それマグで!
javascript onselectstart / onmousedown の組合せ
JSのイベントハンドラを使って実現されてることが多い。
というわけで、対策用のUserJS
document.body.appendChild(function(){ sc = document.createElement("script"); var code = function(){ Array.apply(null,document.querySelectorAll("*")).forEach( function(e){ if( getComputedStyle(e)["-webkit-user-select"]){ e.style.webkitUserSelect = "all" } if( getComputedStyle(e)["user-select"]){ e.document.body.style.userSelect = "all" } }) //選択を検知するマウスイベント検出を無効にする。 Array.apply(null,document.querySelectorAll("*")).forEach( function(e){ ["onmousedown","onselectstart"].forEach(function(handle_name){ if( e[handle_name]){ e[handle_name] = null; } }) }) } src = "("+code.toString()+")()" sc.type="text/javascript"; sc.text=src return sc; }() );
onselectstart と user-selection :none は「テキスト選択拒否」のためじゃない。
HTMLでアプリケーションを作ると文字列選択が暴発して、画面に文字選択が溢れちゃったり。ボタンの文字列が選択されて意図しない動作になってしまう。
ソウイウことを防ぐためのものだろう?
いまどき右クリック禁止的なことを、user-selection:none でやるのはどうかと思う。
やりたきゃ、暗号化テキスト取得後Canvasに埋め込むとかした方がいいぞたぶん。 それでも、画面キャプチャされてOCRで取り出せると思うし、検索にかからなくなるからシンドいと思うけど。