第8章 BOM——location对象

location是最有用的BOM对象之一。

window.location和document.location引用的是同一个对象。

8.2  location对象的所有属性:(省略了每个属性前的location前缀)

hash                     "#contents"   返回url中hash(#号后跟零或多个字符)

host                      "www.wrox.com:8080"    返回服务器名称和端口号(如果有)

hostname            "www.wrox.com"    不带端口号的服务器名称

href                      "http://www.wrox.com"  完整url

pathname            "/WileyCDA/"    URL中的目录和文件名

prot                     "8080" 端口号

protocol             "http:"  页面使用协议。http:或https:

search               "?q=javascript"   URL的查询字符串

8.2.1查询字符串参数

创建一个函数,每个查询字符串参数。

function getQueryStingArgs() {
    // 查询字符串并去掉开头的?号
   var qs = (location.search.length>0?location.search.substring(1):''),
   // 保存数据的对象
   args = {},
      //取得每一项
   items = qs.length?qs.split("&"):[],
   item = null,
   name = null,
   value = null,
   // 在for循环中使用
   i = 0,
   len = items.length;
   // 逐个将每一项添加到args对象中
   for(i=0;i<len;i++){
       item = items[i].split("=");
       name = decodeURIComponent(item[0]);
       value = decodeURIComponent(item[1]);
       if(name.length){
           args[name] = value;
      }
   }
   return args;
   }

8.2.2位置操作

改变浏览器的位置

window.location = "http://www.wrox.com";

location.href = "http>//www.wrox.com"

修改location对象属性也可以改变加载页面

// 初始URL "http://www.wrox.com/WileyCDA/ "

//URL 修改为"http://www.wrox.com/WileyCDA/#section1"

location.hash = "#section1"

//URL 修改为"http://www.wrox.com/WileyCDA/?q=javascript"

location.search = "?q=javascript";

//URL 修改为"http://www.yahoo.com/WileyCDA/"

location.hostname = "www.yahoo.com";

//URL 修改为"http://www.yahoo.com/mydir/"

location.pathname = "mydir";

//URL 修改为"http://www.yahoo.com:8080/WileyCDA/"

location.port = 8080;

禁止用户返回到上一个页面:

location.replace("http://www.wrox.com/")

重新加载:

location.reload()        // 有可能重缓存中加载

location.reload(true)  //  从服务器重新加载

发布了54 篇原创文章 · 获赞 8 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/yang295242361/article/details/94562307