❶ 多級頁面間的後退如何實現(js方法)
瀏覽器的「後退」功能與頁面的級數無關。它是將一個窗口依次瀏覽過回的多個頁面按順序排列答成歷史列表,每次點擊「後退」按鈕或用js腳本觸發「後退」功能時,它將依據當前窗口的歷史列表來後退展示頁面。js腳本示例如下:
window.history.go(-1);//後退一頁
window.history.go(-2);//後退兩頁
以上代碼中的數字為負數,表示後退,正數表示前進。
窗口瀏覽的頁面有可能是不斷重復某兩個頁面,那麼go(-1)方法也將在這兩個頁面之間輪回多次。如果想要快速後退到這兩個頁面之前的頁面,只能使用更精確的記憶方法了,瀏覽器自帶的歷史功能無法滿足需求。比如,使用cookies來記錄訪問URL的歷史,也可以記憶必要的參數,需要後退的時候直接對window.location進行賦值(重定向),跳轉到想要到達的頁面。
❷ 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>
❸ 我就想問下,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>
❹ 用js如何控制 html5 video的快進後退。不要第三方插件。繼續代碼。
代碼如下:
<scripttype="text/javascript">functionvidplay() {varvideo=
document.getElementById("Video1");varbutton =
document.getElementById("play");if(video.paused) {
video.play();
button.textContent ="||";
}else{
video.pause();
button.textContent =">"
}
}functionrestart() {varvideo = document.getElementById("Video1");
video.currentTime = 0;
}functionskip(value) {varvideo = document.getElementById("Video1");
video.currentTime += value;
}</script></head><body><videoid="Video1">// Replace these with your own video files.<sourcesrc="demo.mp4"type="video/mp4"/>
<sourcesrc="demo.ogv"type="video/ogg"/>HTML5 Video is required for this example.<ahref="demo.mp4">Download the video</a>file.</video><divid="buttonbar">
<buttonid="restart"onclick="restart();">[]</button><buttonid="rew"onclick="skip(-10)"><<</button><buttonid="play"onclick="vidplay()">></button>
<buttonid="fastFwd"onclick="skip(10)">>></button></div>
注意事項
一、history.pushState(data, title [, url])
往歷史記錄堆棧頂部添加一條記錄;
data: onpopstate事件觸發時作為參數傳遞過去;
title:頁面標題,當前所有瀏覽器都會忽略此參數;
url: 頁面地址,可選,預設為當前頁地址;
二、history.replaceState(data, title [, url])
更改當前的歷史記錄,參數同上;
三、history.state:
用於存儲以上方法的data數據,不同瀏覽器的讀寫許可權不一樣;
四、window.onpopstate:響應pushState或replaceState的調用;
HTML實現 後退【window.history.back()】默認
HTML實現 後退【window.history.back(-1)】 括弧裡面的負數字代表後退幾個頁面,如果是-2的話就代表後退2頁
HTML實現 前進【window.history.forward()】//不常用
HTML實現 前進【window.history.forward(1)】//不常用 括弧裡面的正數就代表要前進的頁。如果是3就表示前進3頁
[html] view plain
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<p>這是第一個頁面</p>
<a href="HTMLPage2.htm">到dom頁</a>
<input type="button" onclick="javascript:window.history.back()" value="後退"/>
<input type="button" onclick="javascript:window.history.forward()" value="前進" />
</body>
</html>
[html] view plain
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<p>這是第二個頁面</p>
<a href="HTMLPage3.htm">轉到第一頁</a>
<a href="javascript:window.history.back()">後退</a>
<a href="javascript:window.history.forward()">前進</a>
</body>
</html>
❺ js 監聽瀏覽器的返回按鈕事件在安卓和ios的坑
這是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無效...
❻ js中網頁前進和後退的代碼
前進: history.forward();=history.go(1);
後退: history.back();=history.go(-1);
注意事項:前進後退按鈕是需要在特定環境下才有效果的,即你需要從另一個頁面進入到這個頁面後,點擊這個後退按鈕才有後退的效果,否則是沒有的。
【拓展資料】
javascript中的後退和刷新;
<input type=button value=刷新 onclick="window.location.reload()">
<input type=button value=前進 onclick="window.history.go(1)">
<input type=button value=後退 onclick="window.history.go(-1)">
<input type=button value=前進 onclick="window.history.forward()">
<input type=button value=後退 onclick="window.history.back()"> 後退+刷新<input type=button value=後退 onclick="window.history.go(-1);window.location.reload()">在C# Web程序中,如為頁面按鈕寫返回上一頁代碼
this.RegisterClientScriptBlock("E", "<script language=javascript>history.go(-2);</script>");
其中,history.go(-2),要寫為-2,因在按鈕事件觸發前,已刷新一次頁面,所以應是-2。
Response.Write("<script language=javascript>history.go(-2);</script>");
此處也要寫為「-2」。跟直接寫腳本的有所不同。history.back()是會上一頁
i=1
history.go(i)去指定的某頁
如果是history.go(0)那就是刷新這兩個屬於JS代碼,相當於IE的前進、後退功能。
具體的用處就要看什麼時候需要這個就用上。比如用戶注冊時的驗證是後台驗證,不符合要求的時候就可以用這個,可以最大限度保證用戶少重復輸入數據。
例如:載入頁面:
function onLoadPage(){
if(event.srcElement.tagName=="SPAN"){
oFrame=top.window.middle.frames[2];
oTxt=event.srcElement.innerText;
switch(oTxt){
case "前 進":
oFrame.history.go(1);
case "後 退":
oFrame.history.back();
case "刷 新":
oFrame.location.reload();
}
}
}
打開一個jsp頁面,肯定是用客戶端腳本進行刷新了。
Javascript刷新頁面的幾種方法:
1 history.go(0)
2 location.reload()
3 location=location
4 location.assign(location)
5 document.execCommand('Refresh')
6 window.navigate(location)
7 location.replace(location)
8 document.URL=location.href