欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JS基于Location实现访问Url、重定向及刷新页面的方法分析

程序员文章站 2022-06-27 14:42:35
本文实例讲述了js基于location实现访问url、重定向及刷新页面的方法。分享给大家供大家参考,具体如下: js通过location实现访问url,重定向,刷新页...

本文实例讲述了js基于location实现访问url、重定向及刷新页面的方法。分享给大家供大家参考,具体如下:

js通过location实现访问url,重定向,刷新页

web中经常会使用到刷新页面,访问url、重定向请求的功能。

javascript提供了许多方法访问,修改当前用户在浏览器中访问的url.所有的这些技术都是基于location对象的。它是作为window对象的属性。你可以生成一个包含当前url的新location对象:

var currenturl=window.location;

在这片文章你将看到location对象的所有属性和方法,你将学到:

  • 怎么读取url不同部分
  • 怎么重定向网页
  • 怎么自动刷新或重载页面.

1.分析url

url有6部分组成,一些是可选的:

<协议>//<域名>:<端口>/<路径><查询参数><hash>
<protocol>//<hostname>:<port>/<pathname><search><hash>

协议和域名是必须项,其它是可选项。

下面是一个包含所有部分的url例子:

http://www.example.com:80/example.cgi?x=3&y=4#results

在这个例子中, http: 是 协议, www.example.com 是 域名, 80 是端口, /example.cgi 是路径, ?x=3&y=4是查询字符串, #results是hash, 或页面内部的锚点.

2.通过location读取当前的url

你可以使用location对象的protocol,hostname,port,pathname,search,hash属性访问url各个部分。你还可以使用下面属性:

host
  包含域名和端口例如: www.example.com:80

href
  包含整个url例如:http://www.example.com:80/example.cgi?x=3&y=4#results

示例:

var currenturl=window.location;
alert(currenturl.href);//displays'http://www.example.com:80/example.cgi?x=3&y=4#results'
alert(currenturl.protocol);//displays'http:'
alert(currenturl.host);//displays'www.example.com:80'
alert(currenturl.hostname);//displays'www.example.com'
alert(currenturl.port);//displays'80'
alert(currenturl.pathname);//displays'/example.cgi'
alert(currenturl.search);//displays'?x=3&y=4'
alert(currenturl.hash);//displays'#results'

3.使用location操作url

你可以使用location的href属性,把页面跳转到不同于当前页面的页面。

window.location.href="http://www.example.com/anotherpage.html" rel="external nofollow" ;

示例:

<input type="button" onclick="window.location.href='http://www.google.com/'"
value="visit www.google.com"/>

使用location的href属性跳转页面,前一页的url会保存在浏览器的history历史中。当用户点击浏览器的“后退”按钮可以返回前一页。如果你不想让返回前一页可使用location.replace()代替:

window.location.replace("http://www.example.com/anotherpage.html");

除了可以将页面重定向不用的页面,还可重定向当前页面不同的锚点

window.location.hash="#moreresults";

例如:

<input type="button" onclick="window.location.hash='#top'"
value="jump to the top of the page"/>

在页面有个名为#top的锚点。点击按钮时浏览器会移动到顶部。注意观察浏览器地址栏的变化,当你点击浏览器后退按钮可回到前一位置。

4.重载刷新页面

可以调用location.reload()强制浏览器重新刷新当前url.就像当前用户点击浏览器的刷新按钮或f5一样。

window.location.reload();

如果该方法没有规定参数,或者参数是 false,它就会用 http 头 if-modified-since 来检测服务器上的文档是否已改变。如果文档已改变,reload() 会再次下载该文档。如果文档未改变,则该方法将从缓存中装载文档。这与用户单击浏览器的刷新按钮的效果是完全一样的。

如果把该方法的参数设置为 true,那么无论文档的最后修改日期是什么,它都会绕过缓存,从服务器上重新下载该文档。这与用户在单击浏览器的刷新按钮时按住 shift 健的效果是完全一样。

window.location.reload(true);

简单示例:

<input type="button" onclick="window.location.reload()"
value="reload the page"/>

更多关于javascript相关内容感兴趣的读者可查看本站专题:《javascript页面元素操作技巧总结》、《javascript查找算法技巧总结》、《javascript数据结构与算法技巧总结》、《javascript错误与调试技巧总结》及《javascript数学运算用法总结

希望本文所述对大家javascript程序设计有所帮助。