【HTML】如何在網頁中屏蔽右鍵 ?


如何在網頁中屏蔽右鍵  

眾所周知,要保護一個頁面,最基礎的就是要屏蔽右鍵。而現在網頁上用得最多的是function click(),即下面這段代碼:  

<script>
function click(){ 
  if(event.button==2){ 
    alert( '本網站歡迎您 !!'); 
  } 
} 
document.onmousedown=click
</script>

但是這種屏蔽方法的破解方法也是眾所周知的。那就是連續單擊鼠標左鍵和右鍵便又可以看到右鍵菜單了。但是,我見過一種很好的屏蔽右鍵的方法。它的原理和上面所說的不同。它並不是用JS來編寫的腳本,而是利用定義網頁屬性來起到限制的作用。而且,在屏蔽中應該盡量的避開使用JS腳本。因為只要瀏覽者把IE里的javascript腳本禁用了。那么一切屏蔽都白費。 

 

  那么繼續說那種通過修改網頁屬性的屏蔽右鍵的方法。這種方法利用了HTML里的〈body〉來作修改,它只有以下短短的一行代碼: 
 

<body oncontextmenu=self.event.returnValue=false>

 這里,定義了oncontextmenu。使得右鍵的值為false,起到了屏蔽右鍵的效果。現在,再試試看剛才的破解方法,已經不行了。左右鍵連擊已經不能再打開右鍵菜單。不但是這個,再試試看其他的方法。無論你怎樣的亂點,右鍵都沒有用。因為在這個網頁里,右鍵已經不存在了。對於一個不存在的功能鍵,你又能做什么呢?

  但是,屏蔽了右鍵還不能解決問題。如果我要復制一段文字,或是一張圖片。那么,把它選中后用ctrl+C 再用 ctrl+V不就可以復制粘貼了嘛。對了,接下來要講的,就是屏蔽左鍵(什么?屏蔽左鍵?那這個網頁不就差不多廢掉了?別急,沒說完呢,左鍵只有一項功能是很討厭的)的選定功能。 

  那么,如上所說,用JS來屏蔽是沒有用的,治標不治本的。那么,我們就還用網頁的最基礎的語言:HTML來定義吧。還是老招數,定義〈body〉。這次用的參數是:onselectstart。就是左鍵選定的參數。代碼如下: 

<body onselectstart="return false">

這樣,左鍵選定功能就給輕易屏蔽了。原理和上面的一樣。現在,再用你的左鍵選擇任意內容把,已經沒有用了。自然也不能ctrl + C,ctrl +V了。那么,現在我們來把這兩部分合並起來。徹底控制左右鍵!:

<body oncontextmenu=self.event.returnValue=false onselectstart="return false">

現在,左右鍵的問題總算是解決了吧。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM