网站页面自动跳转实现方法PHP、JSP(下)


Posted in Javascript onAugust 01, 2010

本文讨论网页自动跳转的几种实现方法。
方法一:使用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=https://3water.com/">
以上代码需要加在HTTP文档首部中,介于<head>与</head>之间,通常,meta标签是紧跟在<head>之后。若需要有多个meta标签,它们可以各占一行。
此法通用于任何环境,包含静态的网站空间。
方法二:使用header函数header函数是php内置函数中的HTTP相关函数之一,该函数送出HTTP协议标头到浏览器。使用它可以重定向URL,即令页面转向其他指定的网页。以下例子,执行后将自动打开黑马在线动力首页:
header("Location: https://3water.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的空间环境。
方法三:使用JavaScriptJS非常灵活,利用它可以做出功能非常强大的程序脚本,这里仅举一个简单的页面自动跳转的JS例子。以下代码执行后浏览器将自动转到黑马在线动力网站,该代码可放在页面中的任何合法的位置:
<script language="javascript" type="text/javascript"> window.location.href("https://3water.com");</script>此代码适用于任何Web环境。若加入定时器,将更加妙不可言。

经常遇到页面自动跳转的问题 例如在有些网站需要在退出登录时出现一个提示页面
什么你正在退出只类客套话,有的还要作个倒记时
方法一:
<meta http-equiv="refresh" content="‘等待时间';URL=‘跳转页面'">
方法二:
这是一个js的应用。
测试代码:

<input type=button value="点击开始" onClick="t=5"> 
<span id="view"></span> 
<script> 
t = -1; // 计数器 
setInterval("testTime()",1000); // 启动1秒定时 
function testTime() { 
if(t<0) return; // 计数器值小于0,表示尚未开始倒计时 
if(t == 0) // 计数器值为0,转向 
location = "https://3water.com"; 
view.innerHTML = "<b>"+t+"</b>"; // 显示倒计时 
t--; // 计数器递减 
} 
function offTime() { 
if(event.srcElement.value != "点击开始") { // 若不是倒计时开始 
t = -1; // 初始计数器 
view.innerHTML = ""; // 清空倒计时 
} 
} 
document.onclick = offTime; // 启动点击事件监视 
</script>
Javascript 相关文章推荐
javascript在一段文字中的光标处插入其他文字
Aug 26 Javascript
关于Javascript与iframe的那些事儿
Jul 04 Javascript
JavaScript面对国际化编程时的一些建议
Jun 24 Javascript
JavaScript 数组- Array的方法总结(推荐)
Jul 21 Javascript
谈谈对JavaScript原生拖放的深入理解
Sep 20 Javascript
微信小程序 免费SSL证书https、TLS版本问题的解决办法
Dec 14 Javascript
使用jQuery实现页面定时弹出广告效果
Aug 24 jQuery
js实现QQ面板拖拽效果(慕课网DOM事件探秘)(全)
Sep 19 Javascript
Three.js利用dat.GUI如何简化试验流程详解
Sep 26 Javascript
基于JS实现带动画效果的流程进度条
Jun 01 Javascript
vue子组件改变父组件传递的prop值通过sync实现数据双向绑定(DEMO)
Feb 01 Javascript
JavaScript严格模式不支持八进制的问题讲解
Nov 07 Javascript
网站页面自动跳转实现方法PHP、JSP(上)
Aug 01 #Javascript
JS DOM 操作实现代码
Aug 01 #Javascript
JQuery自定义事件的应用 JQuery最佳实践
Aug 01 #Javascript
基于jquery的实现简单的表格中增加或删除下一行
Aug 01 #Javascript
Jquery从头学起第四讲 jquery入门教程
Aug 01 #Javascript
关于jquery动态增减控件的一些想法和小插件
Aug 01 #Javascript
jQuery的实现原理的模拟代码 -2 数据部分
Aug 01 #Javascript
You might like
支持中文字母数字、自定义字体php验证码代码
2012/02/27 PHP
解析wamp5下虚拟机配置文档
2013/06/27 PHP
php使用iconv中文截断问题的解决方法
2015/02/11 PHP
JS重要知识点小结
2011/11/06 Javascript
js日期相关函数总结分享
2013/10/15 Javascript
获取select元素被选中的文本内容的js代码
2014/01/29 Javascript
javascript+canvas制作九宫格小程序
2014/12/28 Javascript
js中的关联数组与普通数组详解
2016/07/27 Javascript
JavaScript中的对象继承关系
2016/08/01 Javascript
form表单转Json提交的方法(推荐)
2016/09/23 Javascript
微信小程序 引用其他js文件实现代码
2017/02/22 Javascript
jQuery Ajax前后端使用JSON进行交互示例
2017/03/17 Javascript
微信小程序 地图map实例详解
2017/06/07 Javascript
JS实现简单拖拽效果
2017/06/21 Javascript
js实现canvas图片与img图片的相互转换的示例
2017/08/31 Javascript
vscode下vue项目中eslint的使用方法
2019/01/13 Javascript
解决vue elementUI中table里数字、字母、中文混合排序问题
2020/01/07 Javascript
JS前端模块化原理与实现方法详解
2020/03/17 Javascript
用Python展示动态规则法用以解决重叠子问题的示例
2015/04/02 Python
Python 递归函数详解及实例
2016/12/27 Python
Python并发编程协程(Coroutine)之Gevent详解
2017/12/27 Python
Python工程师面试必备25条知识点
2018/01/17 Python
PyQt5 QTableView设置某一列不可编辑的方法
2019/06/25 Python
python打印直角三角形与等腰三角形实例代码
2019/10/20 Python
python线程优先级队列知识点总结
2021/02/28 Python
html5 sessionStorage会话存储_动力节点Java学院整理
2017/07/06 HTML / CSS
英国最好的包装供应商:Priory Direct
2019/12/17 全球购物
JSF如何进行表格处理及取值
2012/08/06 面试题
销售会计工作职责
2013/12/02 职场文书
食品安全承诺书
2014/05/22 职场文书
在校大学生自我评价范文
2014/09/12 职场文书
购房委托书
2014/10/15 职场文书
《全神贯注》教学反思
2016/02/22 职场文书
php+laravel 扫码二维码签到功能
2021/05/15 PHP
python创建字典及相关管理操作
2022/04/13 Python
Java的Object类的九种方法
2022/04/13 Java/Android