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 相关文章推荐
关于Aptana Studio生成自动备份文件的解决办法
Dec 23 Javascript
jQuery1.6 正式版发布并提供下载
May 05 Javascript
JavaScript每天定时更换皮肤样式的方法
Jul 01 Javascript
jquery实现点击向下展开菜单项(伸缩导航)效果
Aug 22 Javascript
js精美的幻灯片画集特效代码分享
Aug 29 Javascript
限制只能输入数字的实现代码
May 16 Javascript
浅谈原生JS中的延迟脚本和异步脚本
Jul 12 Javascript
基于vue-ssr的静态网站生成器VuePress 初体验
Apr 17 Javascript
vue引用外部JS的两种种方法
Jan 28 Javascript
利用webpack理解CommonJS和ES Modules的差异区别
Jun 16 Javascript
vue组件是如何解析及渲染的?
Jan 13 Vue.js
Vue+Bootstrap实现简易学生管理系统
Feb 09 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
php中iconv函数使用方法
2008/05/24 PHP
PHP里8个鲜为人知的安全函数分析
2014/12/09 PHP
PHP中利用sleep函数实现定时执行功能实现代码
2016/08/25 PHP
Laravel实现定时任务的示例代码
2017/08/10 PHP
通过代码实例解析PHP session工作原理
2020/12/11 PHP
js FLASH幻灯片字符串中有连接符&的处理方法
2012/03/01 Javascript
JS数学函数Exp使用说明
2012/08/09 Javascript
使用JavaScript动态设置样式实现代码及演示动画
2013/01/25 Javascript
jquery属性过滤选择器使用示例
2013/06/18 Javascript
js设置文本框中焦点位置在最后的示例代码(简单实用)
2014/03/04 Javascript
javascript学习笔记(六)数据类型和JSON格式
2014/10/08 Javascript
js获取当前日期时间及其它操作汇总
2015/04/17 Javascript
深入JavaScript高级程序设计之对象、数组(栈方法,队列方法,重排序方法,迭代方法)
2015/12/01 Javascript
BootStrap 下拉菜单点击之后不会出现下拉菜单(下拉菜单不弹出)的解决方案
2016/12/14 Javascript
JavaScript实现弹出广告功能
2017/03/30 Javascript
JS实现汉字与Unicode码相互转换的方法详解
2017/04/28 Javascript
基于 Bootstrap Datetimepicker 联动
2017/08/03 Javascript
Vue form表单动态添加组件实战案例
2019/09/02 Javascript
JavaScript单线程和任务队列原理解析
2020/02/04 Javascript
[00:32]10月24、25日 辉夜杯外卡赛附加赛开赛!
2015/10/23 DOTA
python调用xlsxwriter创建xlsx的方法
2018/05/03 Python
Python global全局变量函数详解
2018/09/18 Python
Python利用lxml模块爬取豆瓣读书排行榜的方法与分析
2019/04/15 Python
django框架CSRF防护原理与用法分析
2019/07/22 Python
Python开发之pip安装及使用方法详解
2020/02/21 Python
Python使用monkey.patch_all()解决协程阻塞问题
2020/04/15 Python
打造经典复古风格的品牌:Alice + Olivia(爱丽丝+奥利维亚)
2016/09/07 全球购物
青年创业培训欢迎词
2014/01/10 职场文书
机关门卫制度
2014/02/01 职场文书
《果园机器人》教学反思
2014/04/13 职场文书
小学学校门卫岗位职责
2014/08/03 职场文书
我心目中的好老师活动方案
2014/08/19 职场文书
老龙头导游词
2015/02/11 职场文书
归途列车观后感
2015/06/17 职场文书
Python办公自动化之教你如何用Python将任意文件转为PDF格式
2021/06/28 Python
mybatis中注解与xml配置的对应关系和对比分析
2021/08/04 Java/Android