window.location和document.location互相等价的,可以交换使用。
一个url链接中包含’#‘和不包含’#’有些返回结果是有区别的,如下:
属性 | 含义 | http://abc.com:8080/test?a=1&b=2 | http://abc.com:8080/#/test?a=1&b=2 |
---|---|---|---|
href | 当前页面的完整URL | http://abc.com:8080/test?a=1&b=2 | http://abc.com:8080/#/test?a=1&b=2 |
protocol | 使用协议 | http: | http: |
hostname | 服务器的名字 | abc.com | abc.com |
port | 端口 | 8080 | 8080 |
host | 等于hostname + port | abc.com:8080 | abc.com:8080 |
pathname | URL中主机名后的部分 | /test | ‘’ |
search | “?”后的部分,又称为查询字符串 | a=1&b=2 | ‘’ |
hash | 返回”#”之后的内容 | ‘’ | #/test?a=1&b=2 |
从上表可以看出,hash返回的是第一个’#‘之后的内容,search返回的是第一个’?‘之后的内容,如果’?‘之前有’#’,直接使用search得不到url链接的参数。
举个栗子?:
URL:http://abc.com:8080/test?a=1&b=#c=222#log
search: “a=1&b=”
hash: “c=222#log” // hash返回的是第一个’#’之后的内容
search只能在取到’?‘后面和’#‘之前的内容,如果’#‘之前没有’?’,search取值为空。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/37174.html