页面自动跳转的几种实现方法

页面自动跳转的几种实现方法引自http://www.gxblk.com/pc/no12/15.php很多时候我们需要Web页具备有自动跳转功能,例如,论坛中的用户登录、发帖及回复或留言簿中的留言和回复等操作成功后,若用户没有任何鼠标点击操作,过了一定的时间,页面自动跳转到预设的页面。本文讨论网页自动跳转的几种实现方法。方法一:使用meta标签meta标签是html不可或缺的标签之一,它负责提供文档的元信

引自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标签,它们可以各占一行。

此法通用于任何环境,包含静态的网站空间。

(转自
http://www.blogjava.net/Jcat/archive/2006/11/22/82831.html)

功能:5秒后,自动跳转到同目录下的02view.html文件

1)html的实现

页面自动跳转的几种实现方法
<
head
>

页面自动跳转的几种实现方法

<
meta 
http-equiv
=”refresh”
 content
=”5;url=02view.html”
>

页面自动跳转的几种实现方法

</
head
>

优点:简单

缺点:Struts Tiles中无法使用

 
2)javascript的实现

<
script 
language
=”javascript”
 type
=”text/javascript”
>

   setTimeout(
javascript:location.href=’02view.html’5000); 

</
script
>

优点:灵活,可以结合更多的其他功能

缺点:受到不同浏览器的影响

 
3)结合了倒数的javascript实现(IE)

<
span 
id
=”totalSecond”
>
5
</
span
>


<
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属性)

 
3’)结合了倒数的javascript实现(firefox)

<
script 
language
=”javascript”
 type
=”text/javascript”
>

    

var
 second 
=
 document.getElementById(‘totalSecond’).textContent;
    setInterval(


redirect()


1000
);
    

function
 redirect()
    {

        document.getElementById(‘totalSecond’).textContent 

=
 

second;
        

if
 (second 
<
 
0
) location.href 
=
 ’02view.html’;
    }

</
script
>

4)解决Firefox不支持innerText的问题

<
span 
id
=”totalSecond”
>
5
</
span
>


<
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
>

5)整合3)和3’)

<
span 
id
=”totalSecond”
>
5
</
span
>


<
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环境。若加入定时器,将更加妙不可言。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/39067.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注