HTML文書のソースを見られたくないなどの理由から、いわゆる右クリックを禁止しているコンテンツが見られますが、全く意味は無いと思います。
いわゆる右クリック禁止のための機能は、ファイヤーフォックスなどもじら系のユーザエージェントとインターネットエクスプローラが実装しております。
具体的には、<body>要素にoncontextmenu属性を与え、その値として右クリックが成された際に実行するスクリプトを記述します。
しかしながら、このoncontextmenu属性は標準的なHTMLには含まれておらず、従ってoncontextmenu属性を用いた時点で文法違反となります。
このため、スクリプトでoncontextmenu属性を後から付け加える事が考えられます。
この方法は、ダイナミックHTMLとDOM内のJAVAスクリプトと文書の分離で解説しておりますが、実際のソースは以下のようになるでしょう。
wold=window.onload;window.onload=brc;function brc() {if (document.getElementById && !window.opera) {eles=document.getElementsByTagName('body');if (!document.all) {eles[0].setAttribute('oncontextmenu','return(brc2()); ');}else eles[0].oncontextmenu=brc2;}if (wold) wold();}function brc2() {alert('右クリックダメ!'); return(false);}
setAttribute()メソッドを用いてスクリプトを属性値として記述します(setAttribute()メソッドでの函数記述が失敗するのはインターネットエクスプローラだけです)。oncontextmenu属性を附与するスクリプトの記述例をはここまで右クリック禁止は、以下のような理由から全く意味はありません。
オペラでは実行出来ないようです。
この手のトリックをしたがる者は、恐らくインターネットエクスプローラの事しか考えていないと思いますが、数パーセントとは言え決して少なくないオペラユーザには一切通じません。
また、旧式のユーザエージェントでも無理です。
ウィンドウズ上のファイヤーフォックスなら、Ctrlキーを押しながらUキーを押せば、ソースファイルが開きます。
インターネットエクスプローラなどでも、ツールバーからメニューを撰べばソース表示が可能です。
つまり、ソースを見られたくないから右クリックを封じると言うは、全く意味が無いのです。
ファイヤーフォックスでは、JAVAスクリプトの動作可否を細かく指定出来ます。
その中には、右クリックメニューを開かせなかったり改竄させるスクリプトの実行を止める項目もあります。
実際にファイヤーフォックスでこの設定をしている方なら、右クリックの際に変なアラートが表示されても、それを消せば右クリックメニューがちゃんと表示されるのをご覧になった方もいるでしょう。
HTML文書はマークアップされたソースがあって初めてユーザエージェントが処理・表示出来るのです。
つまり、文書を見せている以上、ソースも見られたって特に問題は無い筈です。
要するに、ソースを見せないという発想そのものが意味が無いと言えます。
右クリック禁止は全く意味がありませんし、その機能を求める事自体がおかしいのです。
ですから、制作者はJAVAスクリプトのコーナでの解説を忌避したのです。