页面自动跳转的几种实现方法
来源:互联网 发布:怎么看tomcat的端口 编辑:程序博客网 时间:2024/05/09 13:40
引自http://www.gxblk.com/pc/no12/15.php
很多时候我们需要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标签,它们可以各占一行。
此法通用于任何环境,包含静态的网站空间。
功能:5秒后,自动跳转到同目录下的02view.html文件
<meta http-equiv="refresh" content="5;url=02view.html">
</head>
优点:简单
缺点:Struts Tiles中无法使用
setTimeout("javascript:location.href='02view.html'", 5000);
</script>
优点:灵活,可以结合更多的其他功能
缺点:受到不同浏览器的影响
<script language="javascript" type="text/javascript">
var second = totalSecond.innerText;
setInterval("redirect()", 1000);
function redirect(){
totalSecond.innerText=--second;
if(second<0) location.href='02view.html';
}
</script>
优点:更人性化
缺点:firefox不支持(firefox不支持span、div等的innerText属性)
var second = document.getElementById('totalSecond').textContent;
setInterval("redirect()", 1000);
function redirect()
{
document.getElementById('totalSecond').textContent = --second;
if (second < 0) location.href = '02view.html';
}
</script>
<script language="javascript" type="text/javascript">
if(navigator.appName.indexOf("Explorer") > -1){
document.getElementById('totalSecond').innerText = "my text innerText";
} else{
document.getElementById('totalSecond').textContent = "my text textContent";
}
</script>
<script language="javascript" type="text/javascript">
var second = document.getElementById('totalSecond').textContent;
if (navigator.appName.indexOf("Explorer") > -1)
{
second = document.getElementById('totalSecond').innerText;
} else
{
second = document.getElementById('totalSecond').textContent;
}
setInterval("redirect()", 1000);
function redirect()
{
if (second < 0)
{
location.href = '02view.html';
} else
{
if (navigator.appName.indexOf("Explorer") > -1)
{
document.getElementById('totalSecond').innerText = second--;
} else
{
document.getElementById('totalSecond').textContent = second--;
}
}
}
</script>
方法二:使用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代码应写在程序之后)?>
此法显然只能用于支持php的空间环境。
方法三:使用JavaScript
JS非常灵活,利用它可以做出功能非常强大的程序脚本,这里仅举一个简单的页面自动跳转的JS例子。以下代码执行后浏览器将自动转到黑马在线动力网站,该代码可放在页面中的任何合法的位置:
<script language="javascript" type="text/javascript"> window.location.href("http://www.gxblk.com");</script>
此代码适用于任何Web环境。若加入定时器,将更加妙不可言。
- 页面自动跳转的几种实现方法
- 页面自动跳转的几种实现方法
- 页面自动跳转的几种实现方法 -- zz
- 页面自动跳转的几种实现方法
- 页面自动跳转的几种实现方法
- 页面自动跳转的几种实现方法
- 页面自动跳转的几种方式
- 利用javascript实现页面跳转的几种方法
- 利用javascript实现页面跳转的几种方法
- 利用javascript实现页面跳转的几种方法
- 利用javascript实现页面跳转的几种方法
- php页面跳转的几种实现方法
- JSP页面跳转的几种实现方法
- php实现页面跳转的几种方法
- 用JavaScript实现页面跳转的几种方法
- JSP页面跳转的几种实现方法
- PHP跳转页面的几种实现方法详解
- php实现页面跳转的几种方法(实例分享)
- Unity3D之Enemy角色控制脚本
- PHP获取系统当前时间
- LoadRunner监听linux和windows系统资源
- 注册表详解!
- Tomcat占用JVM内存数修改及监控
- 页面自动跳转的几种实现方法
- 火狐中存在的input、select缓存问题,清楚input缓存
- bzoj1116 [POI2008]CLO
- iOS的文件操作总结
- POJ 3617 Best Cow Line(贪心)
- Yii中CGridView单元格组件delete之Ajax特性
- POJ 3267-The Cow Lexicon (动态规划)
- [leetcode] Candy
- pdf转换ppt 破解版