JavaScript页面重定向
你可能会遇到以下情况:单击URL到达页面X,但在内部却被定向到另一个页面Y。发生这种情况的原因是 页面重定向 。这个概念不同于 JavaScript页面刷新 .
你想从原始页面重定向用户的原因可能有多种。我们列出了一些原因:
-
你不喜欢你的域名,而你正在迁移到一个新域名。在这种情况下,你可能需要将所有访问者定向到新站点。在这里,你可以维护你的旧域,但可以放置一个带有页面重定向的页面,以便你所有的旧域访问者都可以访问你的新域。
-
你已经建立了基于浏览器版本或其名称的不同页面,或者可能基于不同的国家/地区,然后可以使用客户端页面重定向来将用户放置在适当的页面上,而不是使用服务器端页面重定向。
-
搜索引擎可能已将你的页面编入索引。但是,当你转移到另一个域时,你不会希望失去来自搜索引擎的访问者。因此,你可以使用客户端页面重定向。但是请记住,不应该这样做来欺骗搜索引擎,否则可能会导致你的网站被禁止。
页面重定向如何工作?
页面重定向的实现如下。
例子1
在客户端使用JavaScript进行页面重定向非常简单。要将你的网站访问者重定向到新页面,只需在标题部分添加一行,如下所示。
<html> <head> <script type = "text/javascript"> <!-- function Redirect() { window.location = "https:// www.newbiego.com”; } //-> </script> </head> <body> <p>Click the following button, you will be redirected to home page.</p> <form> <input type = "button" value = "Redirect Me" onclick = "Redirect();" /> </form> </body> </html>
例子2
你可以在将网站访问者重定向到新页面之前向其显示适当的消息。这将需要一点时间延迟才能加载新页面。以下示例显示了如何实现相同的功能。这里 setTimeout() 是内置的JavaScript函数,可用于在给定的时间间隔后执行另一个函数。
<html> <head> <script type = "text/javascript"> <!-- function Redirect() { window.location = "https:// www.newbiego.com”; } document.write("You will be redirected to main page in 10 sec."); setTimeout('Redirect()', 10000); //-> </script> </head> <body> </body> </html>
You will be redirected to newbiego.com main page in 10 seconds!
例子3
下面的示例显示如何根据访问者的浏览器将网站访问者重定向到其他页面。
<html> <head> <script type = "text/javascript"> <!-- var browsername = navigator.appName; if( browsername == "Netscape" ) { window.location = "http:// www.location.com/ns.htm”; } else if ( browsername =="Microsoft Internet Explorer") { window.location = "http:// www.location.com/ie.htm”; } else { window.location = "http:// www.location.com/other.htm”; } //-> </script> </head> <body> </body> </html>