网站页面自动跳转实现方法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 相关文章推荐
newxtree.js代码
Mar 13 Javascript
js跨域和ajax 跨域问题的实现思路
Sep 05 Javascript
在浏览器中实现图片粘贴的jQuery插件-- pasteimg使用指南
Dec 29 Javascript
用JS写的一个Ajax库(实例代码)
Aug 06 Javascript
原生JS下拉加载插件分享
Dec 26 Javascript
React 项目迁移 Webpack Babel7的实现
Sep 12 Javascript
微信小程序用户位置权限的获取方法(拒绝后提醒)
Nov 15 Javascript
PHP实现基于Redis的MessageQueue队列封装操作示例
Feb 02 Javascript
node.js使用yargs处理命令行参数操作示例
Feb 11 Javascript
Jquery如何使用animation动画效果改变背景色的代码
Jul 20 jQuery
原生JavaScript实现贪吃蛇游戏
Nov 04 Javascript
vue 根据选择的月份动态展示日期对应的星期几
Feb 06 Vue.js
网站页面自动跳转实现方法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
phplist及phpmailer(组合使用)通过gmail发送邮件的配置方法
2016/03/30 PHP
Laravel框架中Blade模板的用法示例
2017/08/30 PHP
FireFox与IE 下js兼容触发click事件的代码
2008/11/20 Javascript
jquery中的mouseleave和mouseout的区别 模仿下拉框效果
2012/02/07 Javascript
jQuery使用数组编写图片无缝向左滚动
2012/12/11 Javascript
jquery zTree异步加载简单实例分享
2013/02/05 Javascript
javascript抖动元素的小例子
2013/10/28 Javascript
Javascript仿PHP $_GET获取URL中的参数
2014/05/12 Javascript
js实现鼠标经过表格行变色的方法
2015/05/12 Javascript
jquery实现简单的轮换出现效果实例
2015/07/23 Javascript
基于PHP和Mysql相结合使用jqGrid读取数据并显示
2015/12/02 Javascript
jQuery基于扩展简单实现倒计时功能的方法
2016/05/14 Javascript
jQuery制作圣诞主题页面 更像是爱情影集
2016/08/10 Javascript
Bootstrap源码学习笔记之bootstrap进度条
2016/12/24 Javascript
妙用Angularjs实现表格按指定列排序
2017/06/23 Javascript
Angular2开发环境搭建教程之VS Code
2017/12/15 Javascript
vue如何判断dom的class
2018/04/26 Javascript
vue项目中axios请求网络接口封装的示例代码
2018/12/18 Javascript
vue实现图片上传预览功能
2019/12/23 Javascript
详解React路由传参方法汇总记录
2020/11/29 Javascript
[22:59]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[46:12]完美世界DOTA2联赛循环赛 DM vs Matador BO2第一场 11.04
2020/11/04 DOTA
解决python2.7 查询mysql时出现中文乱码
2016/10/09 Python
对python 合并 累加两个dict的实例详解
2019/01/21 Python
Python 经典算法100及解析(小结)
2019/09/13 Python
基于python-pptx库中文文档及使用详解
2020/02/14 Python
PHP基于phpqrcode类库生成二维码过程解析
2020/05/28 Python
Python+Xlwings 删除Excel的行和列
2020/12/19 Python
小学美术教学反思
2014/02/01 职场文书
管理失职检讨书
2014/02/12 职场文书
五一促销活动总结
2014/07/01 职场文书
小学教师暑期培训方案
2014/08/28 职场文书
信息与计算机科学职业规划范文:成为一艘有方向的船
2014/09/11 职场文书
个人房屋买卖协议书(范本)
2014/10/04 职场文书
本科毕业论文致谢怎么写
2015/05/14 职场文书
美丽的大脚观后感
2015/06/03 职场文书