1. 如何用jQuery禁用瀏覽器的前進後退按鈕
用於實現該功能的javaScript代碼如下所示:
<script language="JavaScript"> <!-- javascript:window.history.forward(1); //--> </script>
同樣地,這種方法雖然有效,但距離「最內好的方法」還差得很遠。容後來我又看到有人建議用location.replace從一個頁面轉到另一個頁面。這種方法的原理是,用新頁面的URL替換當前的歷史紀錄,這樣瀏覽歷史記錄中就只有一個頁面,後退按鈕永遠不會變為可用。我想這可能正是許多人所尋求的方法,但這種方法仍舊不是任何情況下的最好方法。使用這種方法的實例如下所示:
<A HREF="PageName.htm" onclick="javascript:location.replace(this.href); event.returnValue=false; ">禁止後退到本頁面的鏈接</A>
2. 我就想問下,js到底能不能在某個html頁面禁止瀏覽器的後退按鈕。因為表單提交後想再回去是不現實的
這種可以採用一下方式:
1、回退後,產生一個前進事件
這種方式,不算是一個滿意的解決方式。因為用戶能體驗到,界面的後退,前進。體驗不好。
javascript:window.history.forward(1);
2、禁用鍵盤的backspace鍵
這種做法,沒有辦法消除滑鼠的誤操作
<scripttype="text/javascript">
//處理鍵盤事件禁止後退鍵(Backspace)密碼或單行、多行文本框除外functionbanBackSpace(e){varev=e||window.event;//獲取event對象varobj=ev.target||ev.srcElement;//獲取事件源vart=obj.type||obj.getAttribute('type');//獲取事件源類型//獲取作為判斷條件的事件類型varvReadOnly=obj.getAttribute('readonly');
varvEnabled=obj.getAttribute('enabled');
//處理null值情況vReadOnly=(vReadOnly==null)?false:vReadOnly;
vEnabled=(vEnabled==null)?true:vEnabled;
//當敲Backspace鍵時,事件源類型為密碼或單行、多行文本的,//並且readonly屬性為true或enabled屬性為false的,則退格鍵失效varflag1=(ev.keyCode==8&&(t=="password"||t=="text"||t=="textarea")
&&(vReadOnly==true||vEnabled!=true))?true:false;
//當敲Backspace鍵時,事件源類型非密碼或單行、多行文本的,則退格鍵失效varflag2=(ev.keyCode==8&&t!="password"&&t!="text"&&t!="textarea")
?true:false;
//判斷if(flag2){
returnfalse;
}
if(flag1){
returnfalse;
}
}
//禁止後退鍵作用於Firefox、Operadocument.onkeypress=banBackSpace;
//禁止後退鍵作用於IE、Chromedocument.onkeydown=banBackSpace;
</script>
3、終極方案:
也是查找了好多資料才找到的,這種方式,可以消除 後退的所有動作。包括 鍵盤、滑鼠手勢等產生的後退動作。
<scriptlanguage="javascript">//防止頁面後退
history.pushState(null,null,document.URL);
window.addEventListener('popstate',function(){
history.pushState(null,null,document.URL);
});
</script>
3. 前端javascript如何阻止按下返回鍵頁面回退
document.onkeydown=function(e){
e.stopPropagation();//阻止事件冒泡傳遞
e.preventDefault();//阻止瀏覽器默認事件的發生
//yourcode
if(e.keyCode==8){//keyCode==8表示按內下的回退容按鈕
}
}
4. 如何同JS腳本禁用瀏覽器後退按鈕
<script language="JavaScript">乎晌態
<!--
window.history.forward(1);
//window.location.replace(document.URL);
//window.open(document.URL,"_self","",true);
//-->
<謹困/script>
這樣就可以歲源了
5. javascript限制瀏覽器後退
JAVASCRIPT使用history對象控制瀏覽器前進與後退2008年12月04日 星期四 21:50history對象同樣是Window對象的一個子對象,它對應於瀏覽器的歷史記錄功能。例如使用【後退】按鈕可以使瀏覽器導航到上一頁面,而使用【前進】按鈕則使用戶導航至下一頁面,利用【前進】或【後退】按鈕旁的下拉列表框,還可以任意跳轉到指定的頁面。當然,這些頁面都是用戶訪問過的,它們以棧的形式存儲於瀏覽器的內部。
在JavaScript中,瀏覽器的這個功能以history對象的形式提供給用戶,用於使用代碼控制這些操作。對應於前進、後退、訪問任意頁面,history也提供了3個方法:back()、forward()、go()。這些方法用來控制瀏覽器的前進和後退功能。例如:
history.back(); //相當於用戶單擊【後退】按鈕history.forward(); //相當於用戶單擊【前進】按鈕history.go(-2); //相當於用戶單擊兩次【後退】按鈕,或利用下拉列表轉到倒數第二個頁面
在這里需要注意的是history.go()方法,當參數為正時,相當於前進功能;當參數為負時,相當於後退功能。所以下面的語句是等價的,都表示後退功能:
history.back();history.go(-1);
下面的兩條語句也是等價的,都表示後退功能:
history.forward();history.go(1);
當history.go()方法的參數為0時,表示刷新當前頁面,用戶已經輸入的表單數據不會改變。
——————————————————————————————————————————
今天看到一個據說是能死機的頁面,裡面代碼:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<META content=一點了就死機的按鈕,網頁特效 name=keywords>
<title>一點了就死機的按鈕---網頁特效站</title>
<script>
function freeze(){
alert ('對不起,你死機了,哈哈!!!');while(true){window.history.back(-1)}}
</script>
</head>
<body><FORM>
<INPUT TYPE="BUTTON" VALUE="點了就死機,有膽量你試試" onClick="freeze()">
</FORM>
</body>
</html>
看了下,其實就是死循環在起作用,倒是那個history.back方法沒見過,就找了點資料,這個資料算比較全的了。
back forward go方法的使用前提都是必須有能夠前進或者後退的頁面,而且表單內容均不變。
6. js 監控用戶點擊瀏覽器「後退」按鈕(並禁用),能實用IE和360兩種瀏覽器
屏蔽退鍵御格鍵
document.onkeydown = function(e)
{
var e=e||window.event
var evs=e.srcElement?e.srcElement:e.target;
if(evs.type!="password" && evs.type!="text"){
if(e.keyCode==8){
if(window.event){
e.keyCode=0;
e.returnValue=false;
}else{
e.preventDefault();
}
}else if(e.altKey && ((e.keyCode==37)||(e.keyCode==39))){
if(window.event){
e.returnValue=false;
}else{
e.preventDefault();
}
}
}
}
//////////罩塌///////////////////////
屏蔽右鍵
<script type="稿悶岩text/javascript">
function block(oEvent){
if(window.event)
oEvent=window.event;
if(oEvent.button==2)
alert("滑鼠右鍵不可用");
}
document.onmousedown=block;
</script>
7. js怎麼禁止瀏覽器的前進,後退,刷新
history.go(-1)表示後退與刷新。如數據有改變也隨之改變
history.back()只是單純的返回回到上一頁。答
window.location.reload(); //刷新
window.history.go(1); //前進
window.history.go(-1); //返回+刷新
window.history.forward(); //前進
window.history.back(); //返回
8. js 監控用戶點擊瀏覽器「後退」按鈕(並禁用),能實用IE和360兩種瀏覽器
1.window.location.replace
Location對象的replace()方法將用抄指定襲的URL替換瀏覽器歷史列表中的當前URL,而不是在歷史列表中創建一個新的項,因此,就不能使用IE的後退按鈕來返回原始文檔了。
2.window.open(FF無效)
平時我們使用window.open()時只有使用了三個參數,其實它還有第四個參數,是布爾類型的,它的作用是當第二個參數不為空時,由第一個參數指定的URL是應該替換掉窗口瀏覽歷史的當前項(true),還是應該在窗口瀏覽歷史中創建一個新的項(false),後者是默認的設置。