カテゴリー:
ブラウザ
閲覧数:558 配信日:2017-02-18 12:24
最初に結論
Webページの右クリック禁止を解除する「Chrome拡張」をインストールしても、コピペ出来るようにはなるとは限りません。
コピペ出来ないWebページをコピペ出来るようにするためには?
コピペ出来るようにする「ブックマークレット (Bookmarklet)」を作成します。
ブックマークレット とは?
userがWebブラウザのブックマークなどから起動し、Webブラウザで簡単な処理を行う簡易的なプログラムのことです。
Chrome拡張「Enable right click」
実際に試してみた「Chrome拡張」は、「Enable right click」
バージョン
0.0.9
更新日
2015 年 4 月 24 日
内容
右クリックが無効になっているサイトで右クリックメニューを有効にする
実際に試してみて気が付いたこと
・「右クリック禁止解除」=「コピペ出来るようになる」ではありません。
・両者は異なる概念です。
・「右クリック禁止解除」することでソースコードから「コピペ出来る」ようになります」が、はっきり言って面倒です。
・もっと手軽にコピペしたい、と思いました。
JavaScriptで、右クリック禁止を解除します
Chromeブラウザ下部で開く「Chrome Developer Tools」Consoleパネルへ、JavaScriptコードをコピペして実行
// 入れ替えるイベントリスナ
var f = function(){ return true; };
// 書き換え対象のDOMイベント名
var evs = "beforecopy beforecut click contextmenu copy dragstart mousedown mouseup selectstart".split(" ");
// 書き換え対象のCSS属性名
var props = "userSelect MozUserSelect MsUserSelect WebkitUserSelect".split(" ");
// 1要素に対する書き換え操作
function replace_events( elem ){
// イベント
for( var i = 0; i < evs.length; i ++ ){
elem[ "on" + evs[i] ] = f();
}
// CSS属性
if(elem.style){
for( var i = 0; i < props.length; i ++ ){
elem.style[ props[i] ] = "";
}
}
}
// 全要素に対し
var elems = document.getElementsByTagName("*");
for(var i = 0; i < elems.length; i ++){
replace_events( elems[i] );
}
replace_events( document );
参考
ClipboardEvent
感想
・このJavaScriptコードを、Chromeブラウザ下部で開く「Chrome Developer Tools」Consoleパネルへ毎回コピペして実行することは、面倒だと感じました。
・もっと手軽にコピペしたいと思いました。