页面自动跳转的几种实现方法

作者在 2007-10-03 00:34:00 发布以下内容

页面定时自动跳转到另一个页面

<script   language="javascript">  
  function   GoTo(){  
  location.href="http://www.baidu.com/";  
  }  
   
  setTimeout("GoTo()",5000);  
  </script> 

引自:http://www.bloghome.cn/posts/85805.html

很多时候我们需要Web页具备有自动跳转功能,例如,论坛中的用户登录、发帖及回复或留言簿中的留言和回复等操作成功后,若用户没有任何鼠标点击操作,过了一定的时间,页面自动跳转到预设的页面。本文讨论网页自动跳转的几种实现方法。

方法一:使用meta标签

meta标签是html不可或缺的标签之一,它负责提供文档的元信息,其参数主要有:

    ① http-equiv: 与 文档中数据相关的HTTP文件首部   
  ② content: 与命名HTTP首部相关的数据   
  ③ name:  文档描述     ④ url:  与元信息相联系的URL 

当我们定义属性http-equiv为refresh,打开此Web页时系统将根据content规定的值在一定时间内跳转到相应页面,content="秒数;url=网址"就是定义了过多长时间跳转到指定的网址。以下meta标签告诉系统一秒钟后页面自动跳转到黑马在线动力:

<meta http-equiv="refresh" content="1;url=http://www.gxblk.com">

以上代码需要加在HTTP文档首部中,介于<head>与</head>之间,通常,meta标签是紧跟在<head>之后。若需要有多个meta标签,它们可以各占一行。

此法通用于任何环境,包含静态的网站空间。

方法二:使用header函数

header函数是php内置函数中的HTTP相关函数之一,该函数送出HTTP协议标头到浏览器。使用它可以重定向URL,即令页面转向其他指定的网页。以下例子,执行后将自动打开黑马在线动力首页:

header("Location: http://www.gxblk.com"); 

必须注意,header函数只能用在页面代码中的<html>标签之前,亦即,HTTP首部尚未有其他任何标头(<head>)传送给浏览器之前,而且,此前页面也不能print或echo任何内容。换句话说,在页面的<html>出现前,程序只单纯地处理header事件。尽管有如此严格的要求,灵活地使用它,仍然可以达成页面的自动跳转功能,比如登录页面,通过判断用户提交的数据是否合法来决定页面跳转到何处。以下给出一个简单的例子:

<?php  /* 登录程序 - 文件名:login.php  程序作用 - 判断用户登录口令 */  
if($_POST['Submit']) {    session_start();  
  if($_POST['pws']=='123') { //若密码为 123    
   $_SESSION['passwd']='123'; //写入会话数据     
  header("Location:index.php"); //跳转到正常页面   
 }else{       header("Location:login.php"); //跳转到登录页面   
 } }  //表单代码略(也可以用纯html代码写表单,若如此,代码应放在程序之后  ?> 
 <?php  /* 检测会话数据 - 文件名:index.php  程序作用   
  - 检测会话数据中的密码是否为123,若不是,返回      
    登录页面         */ 
 session_start(); if($_SESSION['passwd']!='123')
 header("Location:login.php");  //其他代码(纯HTML代码应写在程序之后)  ?>
			
技术文章 | 阅读 2211 次
文章评论,共0条
游客请输入验证码