做項目的時候有客戶提出要求,不能用用戶瀏覽他發表的文章時復制他的文章
一種比較簡單的方法,禁止用戶選中頁面的文字和禁止用戶右鍵菜單
document.oncontextmenu = new Function("event.returnValue=false");
document.onselectstart = new Function("event.returnValue=false");
如果只是禁止部分區域的話,直接在標簽上加上onselectstart=“return false”
<div onselectstart="return false" id="div" > 此區域禁止復制 </div>
或者
<div onselectstart="return false" id="div" >
此區域禁止復制
</div>
<script type="text/javascript" >
$(document).ready(function(){
document.getElementById('div').onselectstart =function(){
return false;
};
});
</script>
在火狐下這種js寫法是無效的
在火狐下有個屏蔽選擇樣式的樣式屬性 -moz-user-select (只支持火狐瀏覽器)
<div style="-moz-user-select:none;" >
禁止復制此區域
</div>
如果要禁止整個頁面
<script type="text/javascript" >
$(document).ready(function(){
$("body").css("-moz-user-select","none");
});
</script>
-moz-user-select主要有三個值 none -moz-all -moz-none
| Input表單中文字 | 一般頁面文字 | |
| none | 不可選 | 不可選 |
| -moz-all | 不可選 | 可選 |
| -moz-none | 可選 | 不可選 |
