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


Posted in Javascript onDecember 03, 2018

本文实例讲述了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 相关文章推荐
newxtree.js代码
Mar 13 Javascript
Jquery性能优化详解
May 15 Javascript
js贪吃蛇网页版游戏特效代码分享(挑战十关)
Aug 24 Javascript
AngularJS单选框及多选框实现双向动态绑定
Jan 13 Javascript
jQuery实现日期联动效果实例
Jul 26 Javascript
图文详解Javascript中的上下文和作用域
Feb 15 Javascript
详解vue过滤器在v2.0版本用法
Jun 01 Javascript
微信小程序onLaunch异步,首页onLoad先执行?
Sep 20 Javascript
layui prompt 设置允许空白提交的方法
Sep 24 Javascript
three.js着色器材质的内置变量示例详解
Aug 16 Javascript
vue 插槽简介及使用示例
Nov 19 Vue.js
前端vue+express实现文件的上传下载示例
Feb 18 Vue.js
koa2实现登录注册功能的示例代码
Dec 03 #Javascript
react-router 路由切换动画的实现示例
Dec 03 #Javascript
Vue.js 中的 v-model 指令及绑定表单元素的方法
Dec 03 #Javascript
ng-zorro-antd 入门初体验
Dec 03 #Javascript
如何使用 vue + d3 画一棵树
Dec 03 #Javascript
Vue.js中 v-model 指令的修饰符详解
Dec 03 #Javascript
浅谈ng-zorro使用心得
Dec 03 #Javascript
You might like
在WordPress中使用PHP脚本来判断访客来自什么国家
2015/12/10 PHP
ThinkPHP设置禁止百度等搜索引擎转码(简单实用)
2016/02/15 PHP
JavaScript 字符串乘法
2009/08/20 Javascript
JS设置获取cookies的方法
2014/01/26 Javascript
JavaScript修改浏览器tab标题小技巧
2015/01/06 Javascript
jQuery的ajax下载blob文件
2016/07/21 Javascript
深入理解Node.js的HTTP模块
2016/10/12 Javascript
Javascript之面向对象--接口
2016/12/02 Javascript
jQuery插件FusionCharts绘制的2D条状图效果【附demo源码】
2017/05/13 jQuery
JavaScript实现body内任意节点的自定义属性功能示例
2017/09/18 Javascript
Node批量爬取头条视频并保存方法
2018/09/20 Javascript
微信小程序开发实现的选项卡(窗口顶部/底部TabBar)页面切换功能图文详解
2019/05/14 Javascript
详细讲解用Python发送SMTP邮件的教程
2015/04/29 Python
RC4文件加密的python实现方法
2015/06/30 Python
Go语言基于Socket编写服务器端与客户端通信的实例
2016/02/19 Python
Python Sqlite3以字典形式返回查询结果的实现方法
2016/10/03 Python
利用python将pdf输出为txt的实例讲解
2018/04/23 Python
python3转换code128条形码的方法
2019/04/17 Python
Python中list循环遍历删除数据的正确方法
2019/09/02 Python
Python面向对象之私有属性和私有方法应用案例分析
2019/12/31 Python
使用Django xadmin 实现修改时间选择器为不可输入状态
2020/03/30 Python
使用Python将语音转换为文本的方法
2020/08/10 Python
Scrapy中如何向Spider传入参数的方法实现
2020/09/28 Python
python3列表删除大量重复元素remove()方法的问题详解
2021/01/04 Python
Converse匡威法国官网:美国著名帆布鞋品牌
2018/12/05 全球购物
香港演唱会订票网站:StubHub香港
2019/10/10 全球购物
教师岗位职责
2013/11/17 职场文书
cf搞笑广告词
2014/03/14 职场文书
医学生求职自荐书
2014/06/12 职场文书
第一批党的群众路线教育实践活动总结报告
2014/07/03 职场文书
我的兄弟姐妹观后感
2015/06/15 职场文书
2016新春团拜会致辞
2015/08/01 职场文书
社区服务理念口号
2015/12/25 职场文书
vscode中使用npm安装babel的方法
2021/08/02 Javascript
详解Vue slot插槽
2021/11/20 Vue.js
利用Python多线程实现图片下载器
2022/03/25 Python