今天看視頻學習時學習了一種新技術,即平時我們在一個頁面點擊“提交”或“確認”會自動跳轉到一個頁面。
在網上搜了一下,關於這個技術處理有多種方法,我只記下我在視頻裡學到的三種:
1、用一個response.sendRedirect("目標頁面.jsp\.htm");實現直接跳轉;
2、有時我們需要有點提示,比如“x秒後自動跳轉,若沒有跳轉,請點擊此處”,則可以在myeclipse中調用Snippets中的Delay Go To URL.會自動產生如下代碼:
複製代碼 代碼如下:<script language="JavaScript1.2" type="text/javascript">
<!--
// Place this in the 'head' section of your page.
function delayURL(url, time) {
setTimeout("top.location.href='" + url + "'", time);
}
//-->
</script>
<!-- Place this in the 'body' section -->
<a href="javascript:" onClick="delayURL('myPage.html','2000')">My Delayed Link</a>
將此代碼修改為: 複製代碼 代碼如下:<script language="JavaScript1.2" type="text/javascript">
function delayURL(url, time) {
setTimeout("top.location.href='" + url + "'", time);
}
</script>
<span id="time" style="background: red">3</span>
秒鐘之後自動跳轉,如果不跳轉,請點擊下面連結
<a href="目標頁面.jsp">目標頁面</a>
<script type="text/javascript">
delayURL("http://www.hualai.net.cn", 3000);
</script>
然後將在3秒鐘之後直接跳轉到“目標頁面”。這種方法就是設定幾秒鐘後跳轉則在這過程中頁面不會有變化,比如說設定3秒,然後隨著時間的變化3變成2再變成1直至跳轉,下面請看第三種方法。
3、把方法2中的代碼修改為: 複製代碼 代碼如下:<script language="JavaScript1.2" type="text/javascript">
function delayURL(url) {
var delay=document.getElementById("time").innerHTML;
//最後的innerHTML不能丟,否則delay為一個對象
if(delay>0){
delay--;
document.getElementById("time").innerHTML=delay;
}else{
window.top.location.href=url;
}
setTimeout("delayURL('" + url + "')", 1000);
//此處1000毫秒即每一秒跳轉一次
}
</script>
<span id="time" style="background: red">3</span>
秒鐘之後自動跳轉,如果不跳轉,請點擊下面連結
<a href="目標頁面.jsp">主題列表</a>
<script type="text/javascript">
delayURL("http://www.hualai.net.cn/news/knowledge/265.html");
</script>
此方法實現的效果為在上一個頁面點擊完submit後跳轉到本頁面經過3秒(這個3會遞減到0)後跳轉到目標頁面。