js禁止查看源文件屏蔽Ctrl+u/s、F12、右鍵等兼容IE火狐c(diǎn)hrome
鍵盤事件
一般處理鍵盤按鍵事件我們采用這樣的方式
document.onkeydown=function (event) {
//檢測(cè)按下哪個(gè)鍵,作相應(yīng)處理
};
event為鍵盤事件,對(duì)于chrome,firefox,IE(Edge),IE10,IE9均能支持function自帶的e,而ie8以下只能識(shí)別windows.event,所以一般兼容寫法為:event=event||window.event。獲取按鍵碼一般是event.keyCode,這個(gè)對(duì)各大瀏覽器都是兼容的。
document.onkeydown=function (event) {
event=event||window.event;
var key=event.keyCode;
//檢測(cè)按下哪個(gè)鍵,作相應(yīng)處理
if(key==...){
}
};
屏蔽瀏覽器默認(rèn)事件的方法大致有三種:
1)event.preventDefault()
2)event.returnValue=false;
3)return false;

firefox的特殊方式支持是指,firefox這里一個(gè)比較坑爹的地方是,firefox需增加一個(gè)延遲才能生效,不然仍然會(huì)跳出瀏覽器的保存當(dāng)前頁面窗口,如下:
document.onkeydown=function (event) {
//判斷按鍵
var key=event.keyCode;
if(key== 83 && e.ctrlKey){
/*延遲,兼容FF瀏覽器 */
setTimeout(function(){
alert('ctrl+s');
},1);
event.preventDefault();//或者是 return false;
}
而IE10,IE9,IE8以下對(duì)于event.returnValue=false的特殊方式支持是指鍵盤事件event必須為window.event時(shí)ctrl+s的默認(rèn)事件才能屏蔽,在event=event||window.event的兼容寫法中,IE8及以下的形參event是空,所以會(huì)取值為window.event,而IE10,IE9的function形參event是有效的,所以取值直接為event,因此IE10,IE9在寫法為event=event||window.event時(shí)會(huì)屏蔽ctrl+s失效。
假如要讓所有IE版本能夠屏蔽Ctrl+S,event取值只能是window.event了。由于window.event沒有方法preventDefautl,所以屏蔽默認(rèn)事件方法只能用return false;
兼容IE、firefox、chrome,屏蔽Ctrl+s的寫法為
document.onkeydown=function (e) {
e=window.event||e;
if(key== 83 && e.ctrlKey){
/*延遲,兼容FF瀏覽器 */
setTimeout(function(){
alert('www.qdxw.net');
},1);
return false;
}
};
屏蔽鼠標(biāo)右鍵的寫法
window.document.oncontextmenu = function (){
alert('親,你想干嘛,不要做壞事哦');
return false;
}
如果當(dāng)前頁面里含有iframe 那么iframe里的右鍵依然可用
屏蔽頁面里iframe里的右鍵寫法
document.getElementById('web').onload = function(){
window.document.getElementById('web').contentWindow.document.oncontextmenu = function(){
alert('www.qdxw.net');
return false;
}
}
web是iframe標(biāo)簽的ID屬性。
相關(guān)文章
echarts整合多個(gè)類似option的方法實(shí)例
這篇文章主要給大家介紹了關(guān)于echarts整合多個(gè)類似option的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07
js和html5實(shí)現(xiàn)手機(jī)端刮刮卡抽獎(jiǎng)效果完美兼容android/IOS
手機(jī)完美支持html5,所以如果手機(jī)端想要做個(gè)抽獎(jiǎng)模塊的話,用刮刮卡抽獎(jiǎng)效果,相信這個(gè)互動(dòng)體驗(yàn)是非常棒的,本人親自完成,有錯(cuò)誤請(qǐng)大家指出2013-11-11
學(xué)習(xí)JavaScript設(shè)計(jì)模式(接口)
這篇文章主要帶領(lǐng)大家學(xué)習(xí)JavaScript設(shè)計(jì)模式,其中重點(diǎn)介紹接口,舉例說明什么是接口,對(duì)接口進(jìn)行詳細(xì)剖析,感興趣的小伙伴們可以參考一下2015-11-11
關(guān)于JS精度丟失產(chǎn)生的原因以及解決方案
在處理一些極端情況下的復(fù)雜數(shù)值計(jì)算時(shí),我們可能會(huì)遇到這樣的情況,就是運(yùn)算結(jié)果丟失精度,下面這篇文章主要給大家介紹了關(guān)于JS精度丟失產(chǎn)生的原因以及解決方案的相關(guān)資料,需要的朋友可以參考下2024-01-01
JS快速實(shí)現(xiàn)簡(jiǎn)單計(jì)算器
這篇文章主要為大家詳細(xì)介紹了JS快速實(shí)現(xiàn)簡(jiǎn)單計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04

