本文通過各種方法為你講解分享網(wǎng)頁跳轉(zhuǎn),總有你需要的,網(wǎng)頁跳轉(zhuǎn)的好處就不說了(此處省略1w字)。
一、普通HTML頁面的跳轉(zhuǎn)代碼:
1.
<meta?http-equiv="refresh"?content="5;URL=http://www.miliol.com">
說明:
1、?上面的代碼,放在網(wǎng)頁頭部的“</head>”上面;
2、數(shù)字5,是5秒以后自動(dòng)跳轉(zhuǎn),可自己按照需要設(shè)置;
3、網(wǎng)址?http://www.miliol.com,就是自動(dòng)跳轉(zhuǎn)到的新的網(wǎng)址。
4.網(wǎng)頁需要加載完畢后才能跳轉(zhuǎn)。
2.利用?Javascript語言
<script>?location="http://www.miliol.com";</script>
說明:
本代碼是網(wǎng)頁一打開就直接跳轉(zhuǎn)到?http://www.miliol.com上面去了!
二、PHP跳轉(zhuǎn)代碼:
<?
//PHP自帶函數(shù),注意:?使用該Header函數(shù)時(shí)必須網(wǎng)頁未產(chǎn)生任何輸出,此時(shí)尤其要注意空格的問題。即必須放在網(wǎng)頁最開始處
Header("Location:http://www.miliol.com");
?>
三、?ASP跳轉(zhuǎn)代碼:
<%
'asp?自帶
Response.Redirect("http://www.miliol.com")
%>
自動(dòng)轉(zhuǎn)向,也叫自動(dòng)重定向。自動(dòng)跳轉(zhuǎn),指當(dāng)訪問用戶登陸到某網(wǎng)站時(shí),自動(dòng)將用戶轉(zhuǎn)向其它網(wǎng)頁地址的?一種技術(shù)。轉(zhuǎn)向的網(wǎng)頁地址可以是網(wǎng)站內(nèi)的其它網(wǎng)頁,也可以是其它網(wǎng)站。通常情況下,瀏覽器會(huì)收到一個(gè)網(wǎng)頁,該頁面含有自動(dòng)加載一其它網(wǎng)頁的代碼。該頁面有?可能在服務(wù)器端被轉(zhuǎn)換,這樣的話,瀏覽器只收到一個(gè)頁面,而自動(dòng)轉(zhuǎn)向往往意味著瀏覽器收到的頁面具有自動(dòng)將訪問用戶送至其它頁面的功能。
對(duì)?自動(dòng)轉(zhuǎn)向技術(shù)的合理應(yīng)用包括:將用戶轉(zhuǎn)向到指定瀏覽器的網(wǎng)頁版本;當(dāng)網(wǎng)站的域名變更或刪除后將人們轉(zhuǎn)向到新域名下,等等。但現(xiàn)在這種技術(shù)卻往往被搜索引擎?優(yōu)化人士用來作為提高網(wǎng)站的搜索引擎排名的一種手段。例如,先專門針對(duì)搜索引擎做一個(gè)高度優(yōu)化的網(wǎng)頁,也就是我們通常所說的“橋頁”,然后把這個(gè)網(wǎng)頁提交?給搜索引擎來獲得好的排名。但是,當(dāng)搜索用戶通過搜索引擎的搜索結(jié)果列表點(diǎn)擊該網(wǎng)頁列表進(jìn)入后,將被自動(dòng)轉(zhuǎn)向到一個(gè)用戶本來無意去訪問的網(wǎng)站地址。搜索引?擎常常認(rèn)為自動(dòng)轉(zhuǎn)向的網(wǎng)頁是對(duì)讀者的誤導(dǎo),所以它會(huì)對(duì)這種網(wǎng)頁或網(wǎng)站施以懲戒,不過對(duì)一些自動(dòng)轉(zhuǎn)向方法它目前還無法自動(dòng)檢測出來。
Meta?Refresh?Tag自動(dòng)轉(zhuǎn)向法
由于搜索引擎能夠讀取HTML,而Meta?tags也是?HTML,所以對(duì)于這種自動(dòng)轉(zhuǎn)向法,搜索引擎能夠自動(dòng)檢測出來。因而無論網(wǎng)站的轉(zhuǎn)向出于什么目的,都很容易被搜索引擎視做對(duì)讀者的誤導(dǎo)而受到懲罰。不過,?如果跳轉(zhuǎn)延遲時(shí)間設(shè)置合適,搜索引擎就不會(huì)視之為作弊。
頁面定時(shí)刷新元標(biāo)識(shí)(Meta?Refresh?Tag)只能放在HTML代碼的<HEAD>區(qū)里。如下所示:
代碼
CODE:
<meta?http-equiv="refresh"?content="5"?url=http://www.miliol.com">
其中的“5”是告訴瀏覽器在頁面加載5秒鐘后自動(dòng)跳轉(zhuǎn)到?page.htm這個(gè)頁面。這種方法常可以在論壇中見到。如果在論壇上發(fā)信息,先會(huì)看到一個(gè)確認(rèn)頁面,幾秒后會(huì)自動(dòng)重新跳轉(zhuǎn)回當(dāng)前的論壇頁面中。
從?搜索引擎優(yōu)化的角度出發(fā),一般不希望自動(dòng)轉(zhuǎn)向有延遲。不過,如果是用Meta?Refresh標(biāo)識(shí)進(jìn)行轉(zhuǎn)向,一定要注意把延遲時(shí)間設(shè)定成至少10秒以上。
“javascript”?自動(dòng)轉(zhuǎn)向法
由于不能解析javascript,所以搜索引擎無法察覺(自動(dòng)檢測到)用javascript腳本進(jìn)行?的自動(dòng)轉(zhuǎn)向。javascript自動(dòng)重定向腳本可以放在網(wǎng)頁的任何位置上,如果要求立即跳轉(zhuǎn),則可以將其放入網(wǎng)頁源碼的<head>區(qū)內(nèi)的?最上面。用javascript實(shí)現(xiàn)跳轉(zhuǎn)的范例如下:
方案1:
代碼
CODE:
<script?language="javascript">
<!--
location.replace("http://www.miliol.com");
-->
</script>
用javascript實(shí)現(xiàn)自動(dòng)重定向的好處在于:用戶所訪問的目標(biāo)?URL不會(huì)保留在用戶瀏覽器的歷史記錄中,如果用戶按返回按鈕返回,則將回到跳轉(zhuǎn)前的網(wǎng)頁,而不是包含javascript自動(dòng)重定向腳本的跳轉(zhuǎn)頁面,所?以不會(huì)出現(xiàn)當(dāng)用戶點(diǎn)擊返回按鈕后返回至重定向頁,然后該頁自動(dòng)跳轉(zhuǎn)到用戶本來想離開的那個(gè)頁面的尷尬情形。
如果需要,可以把?javascript自動(dòng)重定向腳本存在一個(gè)外部文件中,并通過下面的命令行來加載,其中“filename.js”是該外部文件的路徑和文件名:
代?碼
<script?language="javascript"?src="filename.js"></script>
注意:若需實(shí)現(xiàn)即刻轉(zhuǎn)向,或不希望人們看到轉(zhuǎn)向前?的那個(gè)頁面,一般常用javascript腳本實(shí)現(xiàn)。在這種情況下應(yīng)將javascript腳本放入HTML源碼的<HEAD>區(qū)中。
表?單(FORM)自動(dòng)轉(zhuǎn)向法
搜索引擎的“爬行”程序是不會(huì)填寫表單的,所以它們也不會(huì)注意到提交表單,因而可以利用表?單來實(shí)現(xiàn)自動(dòng)轉(zhuǎn)向(重定向)而不讓搜索引擎察覺。
對(duì)于表單,人們往往很少意識(shí)到:表單的Action參數(shù)中包含的URL地址其實(shí)正是瀏覽器向服?務(wù)器所請(qǐng)求的URL。瀏覽器將會(huì)通過向請(qǐng)求的URL地址增加一些格式為name=value的參數(shù)給予它以特殊的對(duì)待。在什么都沒有的情況下,瀏覽器仍舊?會(huì)為該URL安排請(qǐng)求至服務(wù)器。
用javascript腳本可讓頁面開始加載時(shí)即提交表單。下面是一個(gè)用javascript實(shí)現(xiàn)表單自?動(dòng)提交,以及提交表單的范例:
代碼
CODE:
<script?language="javascript"><!--document.myform.submit()
//-->
</script>
<form?name="myform"?action="http://www.miliol.com"?method="get"></form>
很多時(shí)候我們需要Web頁具備有自動(dòng)跳轉(zhuǎn)功能,例如,論壇中的用戶登錄、發(fā)帖及回復(fù)或留言簿?中的留言和回復(fù)等操作成功后,若用戶沒有任何鼠標(biāo)點(diǎn)擊操作,過了一定的時(shí)間,頁面自動(dòng)跳轉(zhuǎn)到預(yù)設(shè)的頁面。本文討論網(wǎng)頁自動(dòng)跳轉(zhuǎn)的幾種實(shí)現(xiàn)方法。
方?法一:使用meta標(biāo)簽meta標(biāo)簽是html不可或缺的標(biāo)簽之一,它負(fù)責(zé)提供文檔的元信息,其參數(shù)主要有:
①?http-equiv:?與?文檔中數(shù)據(jù)相關(guān)的HTTP文件首部????②?content:?與命名HTTP首部相關(guān)的數(shù)據(jù)????③?name:??文檔描述????④?url:??與元信息相聯(lián)系的URL當(dāng)我們定義屬性http-equiv為refresh,打開此Web頁時(shí)系統(tǒng)將根據(jù)content規(guī)定的值在一定時(shí)間?內(nèi)跳轉(zhuǎn)到相應(yīng)頁面,content="秒數(shù);url=網(wǎng)址"就是定義了過多長時(shí)間跳轉(zhuǎn)到指定的網(wǎng)址。以下meta標(biāo)簽告訴系統(tǒng)一秒鐘后頁面自動(dòng)跳轉(zhuǎn)到黑馬?在線動(dòng)力:
<meta?http-equiv="refresh"?content="1;url=http://www.miliol.com/">
以?上代碼需要加在HTTP文檔首部中,介于<head>與</head>之間,通常,meta標(biāo)簽是緊跟?在<head>之后。若需要有多個(gè)meta標(biāo)簽,它們可以各占一行。
此法通用于任何環(huán)境,包含靜態(tài)的網(wǎng)站空間。
方法二:使用?header函數(shù)header函數(shù)是php內(nèi)置函數(shù)中的HTTP相關(guān)函數(shù)之一,該函數(shù)送出HTTP協(xié)議標(biāo)頭到瀏覽器。使用它可以重定向URL,即令頁面轉(zhuǎn)?向其他指定的網(wǎng)頁。以下例子,執(zhí)行后將自動(dòng)打開黑馬在線動(dòng)力首頁:
header("Location:?http://www.miliol.com/");
必須注意,header函數(shù)只能?用在頁面代碼中的<html>標(biāo)簽之前,亦即,HTTP首部尚未有其他任何標(biāo)頭(<head>)傳送給瀏覽器之前,而且,此前頁?面也不能print或echo任何內(nèi)容。換句話說,在頁面的<html>出現(xiàn)前,程序只單純地處理header事件。盡管有如此嚴(yán)格的要求,?靈活地使用它,仍然可以達(dá)成頁面的自動(dòng)跳轉(zhuǎn)功能,比如登錄頁面,通過判斷用戶提交的數(shù)據(jù)是否合法來決定頁面跳轉(zhuǎn)到何處。以下給出一個(gè)簡單的例子:
CODE:
<?php
/*?登錄程序?-?文件名:login.php
程序作用?-?判斷用戶登錄口令?*/
if($_POST['Submit'])?{
session_start();
if($_POST['pws']=='123')?{?//若密碼為?123
$_SESSION['passwd']='123';?//寫入會(huì)話數(shù)據(jù)
header("Location:index.php");?//跳轉(zhuǎn)到正常頁面
}else{
header("Location:login.php");?//跳轉(zhuǎn)到登錄頁面
}
}
//表單代碼略(也可以?用純html代碼寫表單,若如此,代碼應(yīng)放在程序之后
?>
<?php
/*?檢測會(huì)話數(shù)據(jù)?-?文件名:index.php
程序作用?????-?檢測會(huì)話數(shù)據(jù)中的密碼是否為123,若不是,返回
登錄頁面?????????*/
session_start();
if($_SESSION['passwd']!='123')?header("Location:login.php");
//其他代碼(純HTML代碼應(yīng)寫在程序之后)
?>
此?法顯然只能用于支持php的空間環(huán)境。
方法三:使用JavaScriptJS非常靈活,利用它可以做出功能非常強(qiáng)大的程序腳本,這里僅舉一個(gè)簡單?的頁面自動(dòng)跳轉(zhuǎn)的JS例子。以下代碼執(zhí)行后瀏覽器將自動(dòng)轉(zhuǎn)到黑馬在線動(dòng)力網(wǎng)站,該代碼可放在頁面中的任何合法的位置:
<script?language="javascript"?type="text/javascript">????window.location.href("http://www.miliol.com");</script>此代碼適用于任何Web環(huán)境。若加入?定時(shí)器,將更加妙不可言。
方法一:
<meta?http-equiv="refresh"?content="‘等待時(shí)間’;URL=‘跳轉(zhuǎn)頁面’">
方法二:
這是一個(gè)js的應(yīng)用。
測試代碼:
CODE:
<input?type=button?value="點(diǎn)擊開始"?onClick="t=5">
<span?id="view"></span>
<script>
t?=?-1;?//?計(jì)數(shù)器
setInterval("testTime()",1000);?//?啟動(dòng)1秒定時(shí)
function?testTime()?{
if(t<0)?return;?//?計(jì)數(shù)器值小于0,表示尚未開始倒計(jì)時(shí)
if(t?==?0)?//?計(jì)數(shù)器值為0,轉(zhuǎn)向
location?=?"http://www.miliol.com";
view.innerHTML?=?"<b>"+t+"</b>";?//?顯示倒計(jì)時(shí)
t--;?//?計(jì)數(shù)器遞減
}
function?offTime()?{
if(event.srcElement.value?!=?"點(diǎn)擊開始")?{?//?若不是倒計(jì)時(shí)開始
t?=?-1;?//?初始計(jì)數(shù)器
view.innerHTML?=?"";?//?清空倒計(jì)時(shí)
}
}
document.onclick?=?offTime;?//?啟動(dòng)點(diǎn)擊事件監(jiān)視?
評(píng)論