网站页面自动跳转实现方法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 相关文章推荐
jQuery 对Select的操作备忘记录
Jul 04 Javascript
防止按钮在短时间内被多次点击的方法
Mar 10 Javascript
详解jquery中$.ajax方法提交表单
Nov 03 Javascript
使用js画图之饼图
Jan 12 Javascript
JS jQuery使用正则表达式去空字符的简单实现代码
May 20 jQuery
自定义事件解决重复请求BUG的问题
Jul 11 Javascript
VUE2实现事件驱动弹窗示例
Oct 21 Javascript
基于vue中解决v-for使用报红并出现警告的问题
Mar 03 Javascript
详解使用create-react-app添加css modules、sasss和antd
Jul 31 Javascript
微信小程序页面间值传递的两种方法
Nov 26 Javascript
angular4应用中输入的最小值和最大值的方法
May 17 Javascript
JavaScript编写开发动态时钟
Jul 29 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之面向对象
2013/05/15 PHP
php无限遍历目录示例
2014/02/21 PHP
PHP面向对象学习之parent::关键字
2017/01/18 PHP
PHP+ajax实现获取新闻数据简单示例
2018/05/08 PHP
js查错流程归纳
2012/05/04 Javascript
js浮点数精确计算(加、减、乘、除)
2013/12/26 Javascript
纯JavaScript实现获取onclick、onchange等事件的值
2014/12/29 Javascript
基于jquery实现ajax无刷新评论
2020/08/19 Javascript
js图片轮播手动切换特效
2017/01/12 Javascript
Vue项目使用CDN优化首屏加载问题
2018/04/01 Javascript
解决Vue中引入swiper,在数据渲染的时候,发生不滑动的问题
2018/09/27 Javascript
Vue通过配置WebSocket并实现群聊功能
2019/12/31 Javascript
JS实现联想、自动补齐国家或地区名称的功能
2020/07/07 Javascript
vue Cli 环境删除与重装教程 - 版本文档
2020/09/11 Javascript
vue的webcamjs集成方式
2020/11/16 Javascript
[42:22]DOTA2上海特级锦标赛C组小组赛#1 OG VS Archon第一局
2016/02/27 DOTA
python利用elaphe制作二维条形码实现代码
2012/05/25 Python
使用Python代码实现Linux中的ls遍历目录命令的实例代码
2019/09/07 Python
python可视化实现KNN算法
2019/10/16 Python
Python 中 -m 的典型用法、原理解析与发展演变
2019/11/11 Python
Tensorflow累加的实现案例
2020/02/05 Python
Django执行源生mysql语句实现过程解析
2020/11/12 Python
耐克中国官方商城:Nike中国
2018/10/18 全球购物
生物制药毕业生自荐信
2013/10/16 职场文书
创先争优制度
2014/01/21 职场文书
抗洪抢险事迹材料
2014/05/06 职场文书
镇人大副主席民主生活会对照检查材料思想汇报
2014/10/01 职场文书
领导班子整改措施
2014/10/24 职场文书
2015年社区计生工作总结
2015/04/21 职场文书
大学生奶茶店创业计划书
2019/06/25 职场文书
SqlServer: 如何更改表的文件组?(进而改变存储位置)
2021/04/05 SQL Server
如何使用vue3打造一个物料库
2021/05/08 Vue.js
Python还能这么玩之用Python修改了班花的开机密码
2021/06/04 Python
Go语言安装并操作redis的go-redis库
2022/04/14 Golang
pycharm无法安装cv2模块问题
2022/05/20 Python
el-form每行显示两列底部按钮居中效果的实现
2022/08/05 HTML / CSS