這是ajax的一個經典問題,很多框架都提供了解決方案,重點是模擬瀏覽器的前進後退。
對於IE,可以用一個隱藏框架,對框架內容的導航會使得前進後退按鈕被觸發。
對以FF,可以用Hash,即改變http://www.url.com/#abc井號後面的部分,前進後退按鈕同樣被觸發。
這樣就能既讓瀏覽器前進後退按鈕被觸發,同時又不離開本頁面。具體方法如下:
1.resize事件 (window).resize(function() { var width = (this).width(); var height = (this).height(); });
2.js條用這個方法 function closewindow{ history.go(-1); }
3.<input type="button" value="後退" onClick="history.back();"> 或 <input type="button" value="後退" onClick="history.go(-1);">
4.window.location.replace Location對象的replace()方法將用指定的URL替換瀏覽器歷史列表中的當前URL,而不是在歷史列表中創建一個新的項,因此,就不能使用IE的後退按鈕來返回原始文檔了。 2.window.open(FF無效...
❷ java/JSP,JS設置按鈕禁用
完全正確!
以下幾種方法也行
document.getElementById("button1").disabled=true;
$("#button1").attr("disabled","disabled");
❸ jquery mobile+html5 寫的頁面 如何禁用手機後退按鈕。或者說如何禁用頁面後退。
html5的popState事件響應的時候,手動調用pushState。應該就可以了。。
我沒試過,就講個思路。
其實就是,每次監聽到後退的事件的時候,我在響應事件里頭,手動調用一次前進(回到原來頁面)。這樣就能實現停留在原來頁面了。
思路二,依然在popState的響應函數里頭,我覺得,應該有某個方法,可以截斷事件的默認響應行為。。就是截斷(popState接下去的行為,從而讓瀏覽器不後退。)。記得jquery里頭貌似有個stopDefault開頭的一個函數,忘了。
❹ javascript怎麼禁用瀏覽器後退按鈕
<scriptlanguage="JavaScript">利用JS產生一個「前進」的動作,以抵消後退功能,這種方法應該是最簡潔的,並且不需要考慮用戶連點兩次或多次「後退」的情況,缺點是當用戶端禁用了JavaScript之後即失效。
javascript:window.history.forward(1);
</script>
<AHREF="logout.do"onclick="javascript:location.replace(this.href);event.returnValue=false;">用location.replace從一個頁面轉到另一個頁面。這種方法的原理是,用新頁面的URL替換當前的歷史紀錄,這樣瀏覽歷史記錄中就只有一個頁面,後退按鈕永遠不會變為可用。我想這可能正是許多人所尋求的方法,但這種方法仍舊不是任何情況下的最好方法。這種方法的缺點在於:簡單地運用Response.Redirect將不再有效,這是因為每次用戶從一個頁面轉到另一個頁面,我們都必須用客戶端代碼清除location.history。另外還要注意,這種方法清除的是最後一個訪問歷史記錄,而不是全部的訪問記錄。
Logout(BackDisabled)
</A>
當鍵盤敲下後退鍵(Backspace)後
1、禁止瀏覽器自動後退
2、但不影響密碼、單行文本、多行文本輸入框等的回退操作
<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、Opera
document.onkeypress=banBackSpace;
//禁止後退鍵作用於IE、Chrome
document.onkeydown=banBackSpace;
</script>
❺ 前端javascript如何阻止按下返回鍵頁面回退
document.onkeydown=function(e){
e.stopPropagation();//阻止事件冒泡傳遞
e.preventDefault();//阻止瀏覽器默認事件的發生
//yourcode
if(e.keyCode==8){//keyCode==8表示按內下的回退容按鈕
}
}
❻ 安卓手機怎麼禁用返回這個物理按鍵的功
設置-開發者選項-使用返回鍵強制關閉應用,應該是這個了。
❼ 手機屏幕上返回鍵如何去掉
手機屏幕上返回鍵去掉方法;以小米手機操作為例:
1、首先選擇打開手機上的設置。如下圖所示。
❽ 我就想問下,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>