11-2 eO@

一般而言,若要對某個特定網頁內容進行保護,可以做到下列幾個步驟:
  1. 不在狀態列顯示任何訊息。
  2. 取消滑鼠右鍵的預設功能。
  3. 不允許網頁上的任何文字被選取。
  4. 不允許列印。
  5. 不允許儲存。
  6. 不允許從不同的 domain 來開取此網頁。
典型的範例,請見此網址 http://www.protware.com 的 Demonstration 連結。

我們在點選滑鼠右鍵時,會觸發 onContextmenu 事件,並顯示快顯功能表,我們只要將 onContextmenu 事件的值設為 false ,便可以達到取消滑鼠右鍵的功能,也就不會出現快顯功能表了。下述範例中,已經對網頁內容進行基本的保護,可做到下列幾點:

  1. 不在狀態列顯示任何訊息。
  2. 取消滑鼠右鍵的預設功能。
  3. 不允許網頁上的任何文字被選取。

Example(noHighlight01.htm):

原始檔如下:

原始檔(noHighlight01.htm):(灰色區域按兩下即可拷貝)
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=big5">
</head>

<body onMouseover="window.status='';return true;"
	onDragStart="window.event.returnValue=false"
	onContextMenu="window.event.returnValue=false"
	onSelectStart="event.returnValue=false">
<h2 align=center>不能反白的網頁</h2>
<hr>
<img src=image/wenli.jpg align=right height=350 border=1>
本頁內文無法反白!
<p>右方美女圖也無法抓取!
<p>狀態列不顯示任何訊息!
<p><a href="http://www.google.com.tw">Google搜尋</a>

<hr>
</body>
</html>

上述範例的說明如下:

但是這些招數只適用於 IE6,對於其他瀏覽器或是 IE 其他版本,可能不適用。
JavaScript 程式設計與應用:用於網頁用戶端