本文讨论网页自动跳转的几种实现方法。 方法一:使用meta标签meta标签是html不可或缺的标签之一,它负责提供文档的元信息,其参数主要有: ① http-equiv: 与 文档中数据相关的HTTP文件首部 ② content: 与命名HTTP首部相关的数据 ③ name: 文档描述 ④ url: 与元信息相联系的URL当我们定义属性http-equiv为refresh,打开此Web页时系统将根据content规定的值在一定时间内跳转到相应页面,content="秒数;url=网址"就是定义了过多长时间跳转到指定的网址。以下meta标签告诉系统一秒钟后页面自动跳转到黑马在线动力: 以上代码需要加在HTTP文档首部中,介于
与之间,通常,meta标签是紧跟在之后。若需要有多个meta标签,它们可以各占一行。
此法通用于任何环境,包含静态的网站空间。
方法二:使用header函数header函数是php内置函数中的HTTP相关函数之一,该函数送出HTTP协议标头到浏览器。使用它可以重定向URL,即令页面转向其他指定的网页。以下例子,执行后将自动打开黑马在线动力首页:
header("Location: http://www.jb51.net/");
必须注意,header函数只能用在页面代码中的标签之前,亦即,HTTP首部尚未有其他任何标头()传送给浏览器之前,而且,此前页面也不能print或echo任何内容。换句话说,在页面的出现前,程序只单纯地处理header事件。尽管有如此严格的要求,灵活地使用它,仍然可以达成页面的自动跳转功能,比如登录页面,通过判断用户提交的数据是否合法来决定页面跳转到何处。以下给出一个简单的例子:
/* 登录程序 - 文件名: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代码写表单,若如此,代码应放在程序之后 ?> /* 检测会话数据 - 文件名:index.php 程序作用 - 检测会话数据中的密码是否为123,若不是,返回 登录页面 */ session_start(); if($_SESSION['passwd']!='123') header("Location:login.php"); //其他代码(纯HTML代码应写在程序之后) ?>
此法显然只能用于支持php的空间环境。
方法三:使用JavaScriptJS非常灵活,利用它可以做出功能非常强大的程序脚本,这里仅举一个简单的页面自动跳转的JS例子。以下代码执行后浏览器将自动转到黑马在线动力网站,该代码可放在页面中的任何合法的位置:
此代码适用于任何Web环境。若加入定时器,将更加妙不可言。
经常遇到页面自动跳转的问题 例如在有些网站需要在退出登录时出现一个提示页面
什么你正在退出只类客套话,有的还要作个倒记时
方法一:
方法二:
这是一个js的应用。
测试代码:
<script> <BR>t = -1; // 计数器 <BR>setInterval("testTime()",1000); // 启动1秒定时 <BR>function testTime() { <BR>if(t<0) return; // 计数器值小于0,表示尚未开始倒计时 <BR>if(t == 0) // 计数器值为0,转向 <BR>location = "http://www.jb51.net"; <BR>view.innerHTML = "<b>"+t+""; // 显示倒计时 <BR>t--; // 计数器递减 <BR>} <BR>function offTime() { <BR>if(event.srcElement.value != "点击开始") { // 若不是倒计时开始 <BR>t = -1; // 初始计数器 <BR>view.innerHTML = ""; // 清空倒计时 <BR>} <BR>} <BR>document.onclick = offTime; // 启动点击事件监视 <BR></script>