2014-08-31 211 views
5

這是一個隨機中文網站http://www.soap-china.com/index.asp禁用js和css的右鍵點擊

我注意到右鍵點擊被禁用。我總是禁用JavaScript,所以我開始逐個節點地逐個刪除,在Firebag中逐行刪除,但沒有找到什麼是禁用右鍵單擊。

它是如何工作的?

這不是我第一次看到這個,所以我很好奇這個竅門。

+0

可能重複的[如何禁用右鍵單擊我的網頁?](http://stackoverflow.com/questions/737022/how-do-i-disable-right-click-on-my-web-頁) – ShaneQful 2014-08-31 22:26:45

+0

哇,這真的是一些東西。我會猜到'pointer-events:none'(因爲選擇不起作用),但事實並非如此。閃光,也許,但那不是無處不在。好問題! – Ryan 2014-08-31 22:27:47

+0

有'onselectstart =「return false」',但那是當然,JavaScript ... – Ryan 2014-08-31 22:31:11

回答

5

它使用javascript完成。

我禁用了JavaScript,我可以右鍵單擊。它禁用:

<script language="JavaScript"> 
document.oncontextmenu =new Function("return false;") 
</script>  
<body onselectstart="return false"> 

可能是您的瀏覽器有問題,該網站對我而言是聯機的。

+1

是的。這很奇怪,但NoScript不會停止這個腳本。所以它是NoScript包。我應該檢查默認的JavaScript關閉。 – Qiao 2014-08-31 22:43:01

0

這是一個簡單的JavaScript代碼片段。
禁用頁面上的Javascript會消除該效果,您可能忘記了您已在瀏覽器中將其打開。
在他們<body>的頂部:

<script language="JavaScript"> 
    document.oncontextmenu =new Function("return false;") 
</script> 
+7

那個代碼...它燒了! – Dave 2014-08-31 22:38:13

2

您可以在CSS你不想被點擊的任何元素使用user-select。一些較舊的瀏覽器需要變體。如下;

-webkit-touch-callout: none; 
-webkit-user-select: none; 
-khtml-user-select: none; 
-moz-user-select: none; 
-ms-user-select: none; 
user-select: none; 

希望這會有所幫助。

9

在body標籤做到這一點:

<body oncontextmenu="return false"> 
... 
</body> 
+3

那麼,簡單而有效。很好的答案。 – xZero 2015-03-11 11:44:05

0

要做到這一點,最好的辦法:

<script type="text/javascript"> 
document.oncontextmenu =new Function("return false;") 
document.onselectstart =new Function("return false;") 
</script> 

好運。