BOM location对象详解

简介: BOM location对象详解

location对象


location对象是window对象下的一个属性,用的时候可以省略window对象


location可以获取或者设置浏览器地址栏的URL



<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>title</title>
  <script>
    //对象中的属性和方法
    //location对象
    console.log(window.location);
   //地址栏上#及后面的内容
   console.log(window.location.hash);
   //主机名及端口号
   console.log(window.location.host);
   //主机名
   console.log(window.location.hostname);
   //文件的路径---相对路径
   console.log(window.location.pathname);
   //端口号
   console.log(window.location.port);
   //协议
   console.log(window.location.protocol);
   //搜索的内容
   console.log(window.location.search);
    onload=function () {
      document.getElementById("btn").onclick=function () {
        // 设置跳转的页面的地址
       location.href="http://www.jd.com";//属性----------------->必须记住
       location.assign("http://www.jd.com");//方法
        location.reload();//重新加载--刷新
        location.replace("http://www.jd.com");//没有历史记录
      };
    };
  </script>
</head>
<body>
<input type="button" value="显示效果" id="btn"/>
</body>
</html>


URL


统一资源定位符 (Uniform Resource Locator, URL)


  • URL的组成


scheme://host:port/path?query#fragment
scheme:通信协议
  常用的http,ftp,maito等
host:主机
  服务器(计算机)域名系统 (DNS) 主机名或 IP 地址。
port:端口号
  整数,可选,省略时使用方案的默认端口,如http的默认端口为80。
path:路径
  由零或多个'/'符号隔开的字符串,一般用来表示主机上的一个目录或文件地址。
query:查询
  可选,用于给动态网页传递参数,可有多个参数,用'&'符号隔开,每个参数的名和值用'='符号隔开。例如:name=zs
fragment:信息片断
  字符串,锚点.


location有哪些成员?


  • 使用chrome的控制台查看


  • 查MDN


MDN


  • 成员


  • assign()/reload()/replace()


  • hash/host/hostname/search/href……


案例


解析URL中的query,并返回对象的形式


function getQuery(queryStr) {
  var query = {};
  if (queryStr.indexOf('?') > -1) {
    var index = queryStr.indexOf('?');
    queryStr = queryStr.substr(index + 1);
    var array = queryStr.split('&');
    for (var i = 0; i < array.length; i++) {
      var tmpArr = array[i].split('=');
      if (tmpArr.length === 2) {
        query[tmpArr[0]] = tmpArr[1];
      }
    }
  }
  return query;
}
console.log(getQuery(location.search));
console.log(getQuery(location.href));
相关文章
|
17天前
|
存储 JavaScript 开发者
如何使用 BOM 中的 history 对象?
【10月更文挑战第31天】`history` 对象的这些方法为开发者提供了强大的工具,用于管理浏览器历史记录和实现无刷新页面导航,尤其在构建单页应用(SPA)等需要复杂页面状态管理的场景中具有重要的应用价值。
24 2
window.location对象使用
window.location对象使用
66 0
|
缓存 JavaScript
|
JavaScript
BOM ------ location对象 & navigator对象
BOM ------ location对象 & navigator对象
|
缓存 JavaScript Go
BOM(Browser Object Model)
BOM(Browser Object Model)
68 0
|
JavaScript
18.1、DOM对象的location对象
18.1、DOM对象的location对象
95 0
18.1、DOM对象的location对象
|
JavaScript
详细解析BOM中Location对象
详细解析BOM中Location对象 Location对象包含有关当前URL的信息。 // href 返回完整的URL console.log(location.href); // host 返回一个URL的主机名和端口 console.log(location.host); // hostname 返回URL的主机名 console.log(location.hostname); // port 返回一个URL服务器使用的端口号 console.log(location.port); // origin 源 返
|
JavaScript
简单解析BOM中Navigator对象
简单解析BOM中Navigator对象 navigator对象包含了有关浏览器的信息。 console.log(navigator); // 属性 // appCodeName 返回浏览器的代码名 console.log(navigator.appCodeName); // appName 返回浏览器的名称 console.log(navigator.appName); // appVersion 返回浏览器的平台和版本信息 console.log(navigator.appVersion); // cookieEna
|
JavaScript Go
简单解析BOM中History对象
简单解析BOM中History对象 History 对象包含用户(在浏览器窗口中)访问过的 URL。 &lt;button&gt;back()&lt;/button&gt; &lt;button&gt;forward()&lt;/button&gt; &lt;button&gt;go()&lt;/button&gt; 1 2 3 console.log(history); var aBtns=document.getElementsByTagName(&quot;button&quot;); // 属性 // length 返回历史记录/列表中的网址数 console.log(histo
|
JavaScript Windows
简单解析BOM中Screen对象
简单解析BOM中Screen对象 Screen 对象包含有关客户端显示屏幕的信息。 console.log(screen); // 属性 // availHeight 返回屏幕的高度(不包括Windows任务栏) // availWidth 返回屏幕的宽度(不包括Windows任务栏) console.log(screen.availHeight,screen.availWidth); // height 返回屏幕的总高度 // width 返回屏幕的总宽度 console.log(screen.height,scree