Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
hp直接跳轉(zhuǎn)頁(yè)面的方法:1、通過(guò)header()函數(shù)實(shí)現(xiàn)跳轉(zhuǎn);2、通過(guò)Meta標(biāo)簽實(shí)現(xiàn)跳轉(zhuǎn);3、通過(guò)JavaScript實(shí)現(xiàn)跳轉(zhuǎn)。
本文操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦
php怎么直接跳轉(zhuǎn)頁(yè)面?
PHP跳轉(zhuǎn)頁(yè)面的幾種實(shí)現(xiàn)方法
● PHP頁(yè)面跳轉(zhuǎn)一、header()函數(shù)
header()函數(shù)是PHP中進(jìn)行頁(yè)面跳轉(zhuǎn)的一種十分簡(jiǎn)單的方法。
header()函數(shù)的主要功能是將HTTP協(xié)議標(biāo)頭(header)輸出到瀏覽器。
header()函數(shù)的定義如下:
可選參數(shù)replace指明是替換前一條類似標(biāo)頭還是添加一條相同類型的標(biāo)頭,默認(rèn)為替換。
第二個(gè)可選參數(shù)http_response_code強(qiáng)制將HTTP相應(yīng)代碼設(shè)為指定值。
header函數(shù)中Location類型的標(biāo)頭是一種特殊的header調(diào)用,常用來(lái)實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)。
注意:
1.location和“:”號(hào)間不能有空格,否則不會(huì)跳轉(zhuǎn)。
2.在用header前不能有任何的輸出。
3.header后的PHP代碼還會(huì)被執(zhí)行。
代碼如下:
● PHP頁(yè)面跳轉(zhuǎn)二、Meta標(biāo)簽
Meta標(biāo)簽是HTML中負(fù)責(zé)提供文檔元信息的標(biāo)簽,在PHP程序中使用該標(biāo)簽,也可以實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)。
若定義http-equiv為refresh,則打開(kāi)該頁(yè)面時(shí)將根據(jù)content規(guī)定的值在一定時(shí)間內(nèi)跳轉(zhuǎn)到相應(yīng)頁(yè)面。
若設(shè)置content="秒數(shù);url=網(wǎng)址",則定義了經(jīng)過(guò)多長(zhǎng)時(shí)間后頁(yè)面跳轉(zhuǎn)到指定的網(wǎng)址。
代碼如下:
● PHP頁(yè)面跳轉(zhuǎn)三、JavaScript
例如,此代碼可以放在程序中的任何合法位置。
代碼如下:
以上就是我們向大家介紹的三種PHP頁(yè)面跳轉(zhuǎn)實(shí)現(xiàn)方法。
時(shí)候,我們會(huì)希望網(wǎng)頁(yè)自動(dòng)跳轉(zhuǎn),應(yīng)用場(chǎng)景包括:
下面總結(jié)下如何在前端頁(yè)面中控制跳轉(zhuǎn)的方法:
利用html的refresh
<meta http-equiv="refresh" content="0;url=index.html">
其中0表示0秒以后跳轉(zhuǎn),可以自行設(shè)定時(shí)間。
利用js的href屬性
window.location.href='index.html';
如果要設(shè)定延遲時(shí)間,則加上setTimeout
setTimeout("javascript:location.href='index.html'", 5000);
利用js的navigate方式
window.navigate("index.html");
自動(dòng)刷新頁(yè)面
在上述方式中,如果跳轉(zhuǎn)的頁(yè)面就是本頁(yè)面,那么就是自動(dòng)刷新頁(yè)面的功能。
或者使用reload
location.reload()
跳轉(zhuǎn)到上一頁(yè),下一頁(yè)的方式
window.history.go(-1);
其中 -1 表示上一頁(yè),如果沒(méi)有負(fù)號(hào)的就是表示下一頁(yè)
如果不是1而是 2,3,4......n 則表示前進(jìn)或者后退 n 頁(yè)
后退還可以用
window.history.back();
兩者的區(qū)別是:
go(-1):返回上一頁(yè),原頁(yè)面表單中的內(nèi)容會(huì)丟失;
back():返回上一頁(yè),原頁(yè)表表單中的內(nèi)容會(huì)保留。
前進(jìn)則對(duì)應(yīng)的是:
history.forward():
此外,還有一個(gè)參數(shù) history.length 記錄了頁(yè)面前進(jìn)的序號(hào),如果等于0表示第一頁(yè)
怎么選擇
至此,自動(dòng)跳轉(zhuǎn)頁(yè)面、刷新頁(yè)面、前后切換的方法都齊了!方法多了就有了選擇恐懼癥?
基本原則:
單純的頁(yè)面跳轉(zhuǎn)建議就用html的refresh方法,無(wú)需js代碼,很簡(jiǎn)潔。
如果比較復(fù)雜,涉及js代碼的業(yè)務(wù)功能,再加上跳轉(zhuǎn)功能的,就用js的各種方法。
此外還要考慮頁(yè)面是否刷新的問(wèn)題,希望刷新就用go,否則用back/forward
eta標(biāo)簽介紹
meta標(biāo)簽是HTML語(yǔ)言head區(qū)域的一個(gè)輔助性標(biāo)簽,常用于定義頁(yè)面的說(shuō)明,關(guān)鍵字,最后修改的日期和其他的元數(shù)據(jù)。這些元數(shù)據(jù)將服務(wù)于瀏覽器,搜索引擎和其他網(wǎng)絡(luò)服務(wù)。
meta標(biāo)簽的組成
meta標(biāo)簽共有兩個(gè)屬性,分別是http-equiv屬性和name屬性。
name屬性
name屬性主要是用于描述網(wǎng)頁(yè),比如網(wǎng)頁(yè)的關(guān)鍵詞,敘述等。與之對(duì)應(yīng)的屬性值為content,content中的內(nèi)容是對(duì)name填入類型的具體描述,便于搜索引擎抓取。
meta標(biāo)簽中name屬性語(yǔ)法格式是:
<meta name="參數(shù)" content="具體的描述">
其中name屬性共有以下幾種參數(shù)。(A-C為常用屬性)
(1) keywords(關(guān)鍵字)
說(shuō)明:用于告訴搜索引擎,你網(wǎng)頁(yè)的關(guān)鍵字。舉例:
<meta name="keywords" content="PHP中文網(wǎng)">
(2)description(網(wǎng)站內(nèi)容的描述)
說(shuō)明:用于告訴搜索引擎,你網(wǎng)站的主要內(nèi)容。舉例:
<meta name="description" content="php中文網(wǎng)提供大量免費(fèi)、原創(chuàng)、高清的php視頻教程">
(3)viewport(移動(dòng)端的窗口)
說(shuō)明:這個(gè)概念較為復(fù)雜,具體的會(huì)在下篇博文中講述。這個(gè)屬性常用于設(shè)計(jì)移動(dòng)端網(wǎng)頁(yè)。在用bootstrap,AmazeUI等框架時(shí)候都有用過(guò)viewport。
<meta name="viewport" content="width=device-width, initial-scale=1">
(4) robots(定義搜索引擎爬蟲的索引方式)
說(shuō)明:robots用來(lái)告訴爬蟲哪些頁(yè)面需要索引,哪些頁(yè)面不需要索引。content的參數(shù)有all,none,index,noindex,follow,nofollow。默認(rèn)是all。
<meta name="robots" content="none">
具體參數(shù)如下:
1、none : 搜索引擎將忽略此網(wǎng)頁(yè),等價(jià)于noindex,nofollow。
2、noindex : 搜索引擎不索引此網(wǎng)頁(yè)。
3、nofollow: 搜索引擎不繼續(xù)通過(guò)此網(wǎng)頁(yè)的鏈接索引搜索其它的網(wǎng)頁(yè)。
4、all : 搜索引擎將索引此網(wǎng)頁(yè)與繼續(xù)通過(guò)此網(wǎng)頁(yè)的鏈接索引,等價(jià)于index,follow。
5、index : 搜索引擎索引此網(wǎng)頁(yè)。
6、follow : 搜索引擎繼續(xù)通過(guò)此網(wǎng)頁(yè)的鏈接索引搜索其它的網(wǎng)頁(yè)。
(5)author(作者)
說(shuō)明:用于標(biāo)注網(wǎng)頁(yè)作者舉例:
<meta name="author" content="PHP中文網(wǎng)">
(6) generator(網(wǎng)頁(yè)制作軟件)
說(shuō)明:用于標(biāo)明網(wǎng)頁(yè)是什么軟件做的舉例: (不知道能不能這樣寫):
<meta name="generator" content="Sublime Text3">
(7)copyright(版權(quán))
說(shuō)明:用于標(biāo)注版權(quán)信息舉例:
<meta name="copyright" content="PHP中文網(wǎng)"> //代表該網(wǎng)站為PHP中文網(wǎng)個(gè)人版權(quán)所有。
(8)revisit-after(搜索引擎爬蟲重訪時(shí)間)
說(shuō)明:如果頁(yè)面不是經(jīng)常更新,為了減輕搜索引擎爬蟲對(duì)服務(wù)器帶來(lái)的壓力,可以設(shè)置一個(gè)爬蟲的重訪時(shí)間。如果重訪時(shí)間過(guò)短,爬蟲將按它們定義的默認(rèn)時(shí)間來(lái)訪問(wèn)。舉例:
<meta name="revisit-after" content="7 days" >
(9)renderer(雙核瀏覽器渲染方式)
說(shuō)明:renderer是為雙核瀏覽器準(zhǔn)備的,用于指定雙核瀏覽器默認(rèn)以何種方式渲染頁(yè)面。比如說(shuō)360瀏覽器。舉例:
<meta name="renderer" content="webkit"> //默認(rèn)webkit內(nèi)核
<meta name="renderer" content="ie-comp"> //默認(rèn)IE兼容模式
<meta name="renderer" content="ie-stand"> //默認(rèn)IE標(biāo)準(zhǔn)模式
http-equiv屬性
http-equiv顧名思義,相當(dāng)于HTTP的作用。
meta標(biāo)簽中http-equiv屬性語(yǔ)法格式是:
<meta http-equiv="參數(shù)" content="具體的描述">
其中http-equiv屬性主要有以下幾種參數(shù):
(1) content-Type(設(shè)定網(wǎng)頁(yè)字符集)(推薦使用HTML5的方式)
說(shuō)明:用于設(shè)定網(wǎng)頁(yè)字符集,便于瀏覽器解析與渲染頁(yè)面舉例:
<meta http-equiv="content-Type" content="text/html;charset=utf-8"> //舊的HTML,不推薦
<meta charset="utf-8"> //HTML5設(shè)定網(wǎng)頁(yè)字符集的方式,推薦使用UTF-8
(2)X-UA-Compatible(瀏覽器采取何種版本渲染當(dāng)前頁(yè)面)
說(shuō)明:用于告知瀏覽器以何種版本來(lái)渲染頁(yè)面。(一般都設(shè)置為最新模式,在各大框架中這個(gè)設(shè)置也很常見(jiàn)。)
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/> //指定IE和Chrome使用最新版本渲染當(dāng)前頁(yè)面
(3) cache-control(指定請(qǐng)求和響應(yīng)遵循的緩存機(jī)制)
說(shuō)明:指導(dǎo)瀏覽器如何緩存某個(gè)響應(yīng)以及緩存多長(zhǎng)時(shí)間
<meta http-equiv="cache-control" content="no-cache">
共有以下幾種用法:
no-cache: 先發(fā)送請(qǐng)求,與服務(wù)器確認(rèn)該資源是否被更改,如果未被更改,則使用緩存。
no-store: 不允許緩存,每次都要去服務(wù)器上,下載完整的響應(yīng)。(安全措施)
public : 緩存所有響應(yīng),但并非必須。因?yàn)閙ax-age也可以做到相同效果
private : 只為單個(gè)用戶緩存,因此不允許任何中繼進(jìn)行緩存。(比如說(shuō)CDN就不允許緩存private的響應(yīng))
maxage : 表示當(dāng)前請(qǐng)求開(kāi)始,該響應(yīng)在多久內(nèi)能被緩存和重用,而不去服務(wù)器重新請(qǐng)求。例如:max-age=60表示響應(yīng)可以再緩存和重用 60 秒。
禁止百度自動(dòng)轉(zhuǎn)碼
說(shuō)明:用于禁止當(dāng)前頁(yè)面在移動(dòng)端瀏覽時(shí),被百度自動(dòng)轉(zhuǎn)碼。雖然百度的本意是好的,但是轉(zhuǎn)碼效果很多時(shí)候卻不盡人意。所以可以在head中加入例子中的那句話,就可以避免百度自動(dòng)轉(zhuǎn)碼了。
<meta http-equiv="Cache-Control" content="no-siteapp" />
(4)expires(網(wǎng)頁(yè)到期時(shí)間)
說(shuō)明:用于設(shè)定網(wǎng)頁(yè)的到期時(shí)間,過(guò)期后網(wǎng)頁(yè)必須到服務(wù)器上重新傳輸。
<meta http-equiv="expires" content="Sunday 26 October 2016 01:00 GMT" />
(5) refresh(自動(dòng)刷新并指向某頁(yè)面)
說(shuō)明:網(wǎng)頁(yè)將在設(shè)定的時(shí)間內(nèi),自動(dòng)刷新并調(diào)向設(shè)定的網(wǎng)址。
<meta http-equiv="refresh" content="2;URL=http://www.xxx.com/"> //意思是2秒后跳轉(zhuǎn)到PHP中文網(wǎng)
(6) Set-Cookie(cookie設(shè)定)
說(shuō)明:如果網(wǎng)頁(yè)過(guò)期。那么這個(gè)網(wǎng)頁(yè)存在本地的cookies也會(huì)被自動(dòng)刪除。
<meta http-equiv="Set-Cookie" content="name, date"> //格式
<meta http-equiv="Set-Cookie" content="User=Lxxyx; path=/; expires=Sunday, 10-Jan-16 10:00:00 GMT"> //具體范例
總結(jié):meta標(biāo)簽的自定義屬性實(shí)在太多了。所以只總結(jié)了一些常用的,希望對(duì)大家有所幫助。
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。