JavaScript BOM——“location 对象”的注意要点 - 前端学习笔记
location 对象基本介绍
location 是最有用的 BOM 对象之一,它提供了与当前窗口中加载的文档有关的信息。还提供了一些导航功能。下面是 location 对象的所有属性:
假设当前的 URL 是: http://example.com:1234/test.htm#part2:hash 设置或返回从井号 (#) 开始的 URL(锚)。//#part2host 设置或返回主机名和当前 URL 的端口号。//example.com:1234hostname 设置或返回当前 URL 的主机名。//example.comhref 设置或返回完整的 URL。//http://example.com:1234/test.htm#part2:pathname 设置或返回当前 URL 的路径部分。///test/test.htmport 设置或返回当前 URL 的端口号。//1234protocol 设置或返回当前 URL 的协议。//http:假设当前的 URL 是: http://www.w3school.com.cn/tiy/t.asp?f=hdom_loc_searchsearch 设置或返回从问号 (?) 开始的 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);}
每五秒钟刷新一次页面。