ウェブページの文字列をコピーされないようにする方法として、右クリックを禁止する方法と文字列の選択を禁止する方法が考えられます。
右クリック禁止
右クリックを禁止するにはHTMLを次のように書きます。
<div oncontextmenu="return false;">テキスト</div>
右クリックをして表示されるメニューを「コンテキストメニュー」などと言いますが、これを無効にします。
「div」でなく「body」にこれを設定するとウェブページ全体で右クリックができなくなります。
文字列選択禁止
文字列の選択を禁止するには次のように書きます。
<div onselectstart="return false;">テキスト</div>
文字列を選択しようとしてもできません。
これも「body」に設定するとウェブページ全体で文字列選択ができなくなります。
※IE限定ですが「unselectable=”on”」を使う方法もあります。
無効にするブックマークレット
これらを無効にするブックマークレットを考えてみました。
選択可能
Firefoxならばブックマークツールバーまでドラッグしてください。
Internet Explorerならば右クリックからお気に入りに保存してください。
javascript:(function(){obs=document.all;for(i=0;i<obs.length;i++){obs[i].oncontextmenu='return true;';obs[i].onselectstart='return true;';}})()
bodyだけでなく、すべてのタグについて、onselectstartとoncontextmenuに「return true;」をセットします。
なお、ここに挙げた方法がすべてではありません。これら以外にも文字列選択を禁止する方法はあります。例えば「document.onmousedown=”return false;”」のようにドキュメントに対してクリックそのものを禁止したりする方法もあります。そのため、すべてのパターンに対応したブックマークレットを作るのはかなり面倒です。頻繁に利用するページならばブックマークレットを使うのは効果がありますが、そうでないならばソースを直に見てしまうのが確実です。
自分のウェブサイトのタイトルとURLをTwitterに投稿するための「リンク」は次のように書きます。
<a href="javascript:(function(){window.open('http://twitter.com/home/?status=' + '〈' + document.title + '〉' + document.location.href)})()">Twitterに投稿</a>
そして、この「リンク」を右クリックしてブックマークに登録するとブックマークレットになります。この場合は自分のウェブサイトでなくても使えます。
Twitterに投稿
ExcelのVBAにはRGB関数というものがあります。
RGB(red, green, blue)
赤と緑と青にそれぞれ0から255までの整数を当てはめて色を表します。
関数になっていますが、内容は単純で
RGB=red+green*256+blue*256*256
という計算をしているだけです。
一方、HTMLで色を指定するには「#00FFFF」という形式を使います。
赤と緑と青にそれぞれ0から255までの整数を当てはめて、それぞれ16進数で表わし、頭に「#」を付けます。
Excelで表わされる色をHTMLの表現に変換するユーザー定義関数を作ってみました。
Function rgb2html(num)
ret = ""
For i = 0 To 2
temp = num Mod 256
ret = ret & Format(Hex(temp), "00")
num = (num - temp) / 256
Next i
rgb2html = "#" & ret
End Function
応用としては「Cells(x, y).Interior.Color」と書くとセルの背景色が取得できるので、ここからHTMLにおける表記に変換できます。
次の例は、1列目に背景色が設定されたセルがあり、その右隣にそれぞれのHTMLにおける表記をセットするものです。
Sub test()
For i = 1 To 5
Cells(i, 2) = rgb2html(Cells(i, 1).Interior.Color)
Next i
End Sub
|
#C5D9F1 |
|
#FFC000 |
|
#9BBB59 |
|
#215867 |
|
#F79646 |
目の前にパソコンはあるのだけれど、定規がない場合にパソコンのモニターで長さを測る方法です。WindowsXPで使えます。
スタート-コントロールパネル-画面を開き(デスクトップ上で右クリック-プロパティでも可)、設定タブを選択してください。
詳細設定をクリックすると「DPI設定」のところに「96DPI」などと書かれています。これは画面が1インチあたり96ピクセルであることを表します。以下、96DPIを前提に。
今、HTMLを使って10センチ(100ミリ)の線を書きたいとします。
1インチは25.4ミリですので、96×100÷25.4=378(ピクセル)となります。
次のように書くと幅10センチの細長い四角が描かれます。
<img src='temp.png' width='378px' height='20px'>
JavaScriptで書くならば次のような感じで。長さが変えられます。
var mm=100;//10センチならば「100」ミリ
var dpi=96;
var mmpi=25.4;//1inch=25.4mm
var pxl=mm*dpi/mmpi;
document.write("<img src='temp.png' width='"+pxl+"px' height='20px'>");
10mm
20mm
30mm
40mm
50mm
60mm
70mm
80mm
90mm
100mm
Googleのサイト検索は、検索範囲をある特定のサイトに絞ることができる検索です。
サイト検索
「言葉 site:stabucky.com」のようにすればサイト検索ができますが、これをフォームにあらかじめセットする方法は次の通り。
Google AdSenseならばウィザード形式で作成することができますが、広告収入は要らない、簡単に作りたい、という場合に。
<form action="http://www.google.co.jp/search" method="get">
<input maxlength="255" name="q" size="31" type="text" />
<input name="btnG" type="submit" value="stabucky.com" />
<input name="sitesearch" type="hidden" value="stabucky.com" />
<input name="ie" type="hidden" value="UTF-8" />
<input name="oe" type="hidden" value="UTF-8" />
<input name="hl" type="hidden" value="ja" />
</form>
「name=sitesearch」の「value」に特定のサイトをセットします。ボタンの名前は適当に。
HTMLで<li>を使ってリストを作ると縦に並びますが、これを横に並べる方法です。
CSS
ul{margin:0px;padding:0px;}
li{display:block;float:left;width:100px;}
HTML
モノトーンでカラーネームの付いているものだけピックアップしました。
グレーよりもダークグレーの方が明るい?
| カラーネーム |
コード |
色 |
| black |
#000000 |
The quick brown fox jumps over the lazy dog. |
| dimgray |
#696969 |
The quick brown fox jumps over the lazy dog. |
| gray |
#808080 |
The quick brown fox jumps over the lazy dog. |
| darkgray |
#A9A9A9 |
The quick brown fox jumps over the lazy dog. |
| silver |
#C0C0C0 |
The quick brown fox jumps over the lazy dog. |
| lightgrey |
#D3D3D3 |
The quick brown fox jumps over the lazy dog. |
| gainsboro |
#DCDCDC |
The quick brown fox jumps over the lazy dog. |
| whitesmoke |
#F5F5F5 |
The quick brown fox jumps over the lazy dog. |
| white |
#FFFFFF |
The quick brown fox jumps over the lazy dog. |
最近のコメント