最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript怎么禁用瀏覽器后退按鈕

 更新時(shí)間:2014年03月27日 16:35:27   作者:  
這篇文章主要介紹了javascript禁用瀏覽器后退按鈕的具體實(shí)現(xiàn),有需要的朋友可以參考下
1、
復(fù)制代碼 代碼如下:

<script language="JavaScript">
javascript:window.history.forward(1);
</script>

利用JS產(chǎn)生一個(gè)“前進(jìn)”的動(dòng)作,以抵消后退功能,這種方法應(yīng)該是最簡(jiǎn)潔的,并且不需要考慮用戶連點(diǎn)兩次或多次“后退”的情況,缺點(diǎn)是當(dāng)用戶端禁用了JavaScript之后即失效。

2、
復(fù)制代碼 代碼如下:

<A HREF="logout.do" onclick="javascript:location.replace(this.href); event.returnValue=false; ">
Logout (Back Disabled)
</A>

用location.replace從一個(gè)頁(yè)面轉(zhuǎn)到另一個(gè)頁(yè)面。這種方法的原理是,用新頁(yè)面的URL替換當(dāng)前的歷史紀(jì)錄,這樣瀏覽歷史記錄中就只有一個(gè)頁(yè)面,后退按鈕永遠(yuǎn)不會(huì)變?yōu)榭捎谩N蚁脒@可能正是許多人所尋求的方法,但這種方法仍舊不是任何情況下的最好方法。這種方法的缺點(diǎn)在于:簡(jiǎn)單地運(yùn)用Response.Redirect將不再有效,這是因?yàn)槊看斡脩魪囊粋€(gè)頁(yè)面轉(zhuǎn)到另一個(gè)頁(yè)面,我們都必須用客戶端代碼清除location.history。另外還要注意,這種方法清除的是最后一個(gè)訪問(wèn)歷史記錄,而不是全部的訪問(wèn)記錄。

3、

當(dāng)鍵盤敲下后退鍵(Backspace)后
1、禁止瀏覽器自動(dòng)后退
2、但不影響密碼、單行文本、多行文本輸入框等的回退操作
復(fù)制代碼 代碼如下:

<script type="text/javascript">

//處理鍵盤事件 禁止后退鍵(Backspace)密碼或單行、多行文本框除外
function banBackSpace(e){
var ev = e || window.event;//獲取event對(duì)象
var obj = ev.target || ev.srcElement;//獲取事件源

var t = obj.type || obj.getAttribute('type');//獲取事件源類型

//獲取作為判斷條件的事件類型
var vReadOnly = obj.getAttribute('readonly');
var vEnabled = obj.getAttribute('enabled');
//處理null值情況
vReadOnly = (vReadOnly == null) ? false : vReadOnly;
vEnabled = (vEnabled == null) ? true : vEnabled;

//當(dāng)敲Backspace鍵時(shí),事件源類型為密碼或單行、多行文本的,
//并且readonly屬性為true或enabled屬性為false的,則退格鍵失效
var flag1=(ev.keyCode == 8 && (t=="password" || t=="text" || t=="textarea")
&& (vReadOnly==true || vEnabled!=true))?true:false;

//當(dāng)敲Backspace鍵時(shí),事件源類型非密碼或單行、多行文本的,則退格鍵失效
var flag2=(ev.keyCode == 8 && t != "password" && t != "text" && t != "textarea")
?true:false;

//判斷
if(flag2){
return false;
}
if(flag1){
return false;
}
}

//禁止后退鍵 作用于Firefox、Opera
document.onkeypress=banBackSpace;
//禁止后退鍵 作用于IE、Chrome
document.onkeydown=banBackSpace;

</script>

以上方法都是針對(duì)“后退”按鈕作出的反應(yīng),客戶端瀏覽器需要打開JavaScript代碼。

4、禁止緩存
復(fù)制代碼 代碼如下:

<%

response.setHeader("Cache-Control", "no-cache");

response.setHeader("Cache-Control", "no-store");

response.setDateHeader("Expires", 0);

response.setHeader("Pragma", "no-cache");
%>

這種方法使用服務(wù)器端腳本,強(qiáng)制瀏覽器重新訪問(wèn)服務(wù)器下載頁(yè)面,而不從緩存讀取,結(jié)合struts jsp頁(yè)面中的<logic>標(biāo)簽實(shí)現(xiàn)重新定向。

以上各種方法都有一定的局限

5、
復(fù)制代碼 代碼如下:

<script language="JavaScript">

function logout(){

window.close(true);

window.open("logout.do");

}
</script>
<button onClick="logout()">Logout</button>

這種方法比較偷懶,關(guān)掉瀏覽器再重新開,經(jīng)過(guò)我的測(cè)試在視覺(jué)上幾乎感覺(jué)不出來(lái)延時(shí),同時(shí)又保證了后退按鈕不可用(新窗口瀏覽器后退按鈕為灰色),看起來(lái)似乎是個(gè)好方法,但缺點(diǎn)也比較明顯:

首先,關(guān)閉和重開的瀏覽器窗口大小可能不同,用戶可以明顯看出這一過(guò)程,并且在一定程度上影響操作。

其次,同上,這是一個(gè)JavaScript方法。

相關(guān)文章

最新評(píng)論

山阴县| 马边| 鸡泽县| 松桃| 静乐县| 丰台区| 涟水县| 嘉兴市| 上高县| 香河县| 呼伦贝尔市| 韶关市| 沙河市| 炉霍县| 广南县| 中卫市| 鱼台县| 会同县| 南昌县| 莫力| 集贤县| 文安县| 芜湖市| 榕江县| 滦南县| 庆云县| 赫章县| 河津市| 沙田区| 和政县| 景洪市| 凯里市| 湛江市| 常熟市| 湘西| 海盐县| 桑日县| 夏津县| 兴隆县| 平远县| 阿拉善右旗|