1

location 对象基本介绍

location 是最有用的 BOM 对象之一,它提供了与当前窗口中加载的文档有关的信息。还提供了一些导航功能。下面是 location 对象的所有属性:

假设当前的 URL 是: http://example.com:1234/test.htm#part2:
hash    设置或返回从井号 (#) 开始的 URL(锚)。//#part2
host    设置或返回主机名和当前 URL 的端口号。//example.com:1234
hostname    设置或返回当前 URL 的主机名。//example.com
href    设置或返回完整的 URL。//http://example.com:1234/test.htm#part2:
pathname    设置或返回当前 URL 的路径部分。///test/test.htm
port    设置或返回当前 URL 的端口号。//1234
protocol    设置或返回当前 URL 的协议。//http:

假设当前的 URL 是: http://www.w3school.com.cn/tiy/t.asp?f=hdom_loc_search
search    设置或返回从问号 (?) 开始的 URL(查询部分)。//?f=hdom_loc_search

位置操作

assign()方法

为其传递一个 URL,如:

location.assign("http://www.baidu.com");

这样就可以立即打开新 URL 并在浏览器的历史纪录中生成一条记录。也可以用 location.href 和 window.location 设置为一个 URL 的值。

另外,也可以修改 location 对象的其他属性来改变 URL。这样会在浏览器的历史纪录中生成一条新的记录。

replace()方法

虽然会导致浏览器位置的改变,但不回在历史纪录中生成新的记录。并且用户不能返回到值钱的页面。如:

setTimeout(function(){
    location.replace("http://www.baidu.com");
}, 3000)

上面的代码,三秒钟之后跳转到新的页面。

reload()方法

重新加载,接收一个可选参数,如下:

  • location.reload(); //可能从缓存中加载

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

如:

setTimeout(reloading, 5000);
function reloading(){
    location.reload(true);
}

每五秒钟刷新一次页面。


JS菌
6.4k 声望2k 粉丝