JavaScript高级程序设计 (第3版)》学习笔记31:chapter_8 - 2 location对象

匿名 (未验证) 提交于 2019-12-02 21:52:03

让学习“上瘾”,成为更好的自己!!!

<!DOCTYPE html> <html lang="en">  <head>     <meta charset="UTF-8">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <meta http-equiv="X-UA-Compatible" content="ie=edge">     <title>location对象</title>     <script>         /*         location对象:提供了与当前窗口中加载的文档有关的信息,也提供了一下导航功能,并将URL解析为独立的片段,让开发人员可以通过不同的属性访问这些片段         location对象既是window对象的属性,也是document对象的属性         属性: hash: 返回“#”号跟零或多个字符               host: hostname+port               hostname:               href:返回当前加载页面的完整URL               pathname:返回URL目录和文件名               port               protocol               search: 返回URL的查询字符串,这个字符以问号开头             1,查询字符串参数               2,位置操作                                                                              */          // 1,查询字符串参数(基于location.search)         function getQueryStringArgs() {             var qs = (location.search > 0 ? location.search.substring(1) : ''),              // 保存数据的对象             args = {};             // 取得每一项             var items = qs.length ? qs.split('&') : [],                 item = null,                 name = null,                 value = null;              // 在循环中使用                          len = items.length;              for (var i = 0; i < len; i++) {                 item = items[i].split('=');                 name = decodeURIComponent(item[0]);                 value = decodeURIComponent(item[1]);                 if(name.length){                     arg[name] = value;                 }               }              return args;         }           // 2,位置操作         // 使用location对象来改变浏览器的位置         // (1) assign(): 接收一个URL 【最常用的方法】          // location.assign('https://www.baidu.com');            // 立即打开新的URL并在浏览器的历史记录中生成一条记录           // 将location.href and window.location设置为URL,也会调用assign()方法         // // 效果一致         // location.href = 'https://www.baidu.com';  // 改变浏览器位置的方法中最常用的就是设置location.href属性         // window.location = 'https://www.baidu.com';          // (2) 修改location对象的其他属性也可以改变当前加载的页面         // 将hash,search,hostname,pathname,port属性设置为新值来改变URL         // 每次修改location的属性(hash除外),页面都会以新的URL重新加载          // (3) replace()方法:禁用上边通过“后退”导航到上一个页面的行为         // replace()也会导致浏览器的位置改变,但是不会在历史记录中生成新纪录!!             // location.replace('https://www.taobao.com');           // (4)  reload():重新加载当前显示的页面         //    a, 没有参数时,页面会以最有效的方法重新加载,页面从浏览器的缓存中重新加载         //    b, 若要强制地从服务器重新加载,则需要传递参数true              location.reload(true);  // 从服务器重新加载          // 【注意】位于reload()调用后的代码可能会也可能不会执行,因此,reload()最好代码放在程序最后一行!!!         </script> </head>  <body>  </body>  </html> 
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!