window.location 对象用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面。在编写时可不使用 window 这个前缀
先说一下完整的url构成部分:
以 https://blog.csdn.net/weixin_38091374/article/details/79195864?ops_request_misc=&request_id=&biz_id=102该链接为例
1.通信协议scheme:常见的有http,ftp,smtp等
2.主机(带端口号)host:服务器(计算机)域名系统 (DNS) 主机名或 IP 地址。
3.端口号port:整数,可选,省略时使用方案的默认端口,如http的默认端口为80。
4.路径path:由零或多个"/"符号隔开的字符串,一般用来表示主机上的一个目录或文件地址。
5.查询query:用于给动态网页(如使用CGI、ISAPI、PHP/JSP/ASP/ASP.NET等技术制作的网页)传递参数,可有多个参数,用"&"符号隔开,每个参数的名和值用"="符号隔开。
6.信息片段fragment:字符串,用于指定网络资源中的片断。例如一个网页中有多个名词解释,可使用fragment直接定位到某一名词解释。(也称为锚点.)
下面就说说本篇的重点window.location
示例:http://www.home.com:8080/windows/location/page.html?ver=1.0&id=timlq#love
1.window.location.href
整个URl字符串(在浏览器中就是完整的地址栏)
返回值:http://www.home.com:8080/windows/location/page.html?ver=1.0&id=timlq#love
2.window.location.protocol
URL 的协议部分
返回值:http:
3.window.location.host
URL 的主机部分(带端口号),
返回值:www.home.com:8080
4.window.location.hostname(不带端口号)
返回值:www.home.com
5.window.location.port
URL 的端口部分。如果采用默认的80端口(update:即使添加了:80),那么返回值并不是默认的80而是空字符。
本例返回值:8080
6.window.location.pathname
URL 的路径部分(就是文件地址)
返回值:/windows/location/page.html
7.window.location.search
查询(参数)部分。除了给动态语言赋值以外,我们同样可以给静态页面,并使用javascript来获得相信应的参数值
返回值:?ver=1.0&id=timlq
8.window.location.hash
锚点
返回值:#love
9.window.location.assign(url) : 加载 URL 指定的新的 HTML 文档。 就相当于一个链接,跳转到指定的url,当前页面会转为新页面内容,可以点击后退返回上一个页面。
10.window.location.replace(url) : 通过加载 URL 指定的文档来替换当前文档 ,这个方法是替换当前窗口页面,前后两个页面共用一个窗口,所以是没有后退返回上一页的
原文:https://www.cnblogs.com/H5lcy/p/14692679.html