document.domain location.hostname location.host document.domain vs location.hostname vs location.host

document.domain    location.hostname     location.host   :https://www.cnblogs.com/shd-study/p/10303139.html

document.domain vs location.hostname vs location.host

 

限制是同源政策的相同规则

document.domain   获取域名

location.hostname    获取域名

location.host      获取域名+端口

document.domain 在property上,一般不允许更改,除了Mozilla,可利用document.domain的更改实现脚本跨域,如:

a.yy.com  与 b.yy.com  此时yy.com是基础域名,a.yy.com与b.yy.com是当前的域名。若要两个实现跨域,需要指定document.domain="yy.com";

前提条件:这两个域名必须属于同一个基础域名!而且所用的协议,端口都要一致,否则无法利用document.domain进行跨域.

location.hostname 更改后浏览器立即执行请求、域名更改携带之前的参数或者页面路径进行跳转

如:https://i.cnblogs.com/EditPosts.aspx?postid=10303139,当在此页面设置 location.hostname = "www.baidu.com"后,浏览器立即执行跳转到"https://www.baidu.com/EditPosts.aspx?postid=10303139";

限制是同源政策的相同规则

document.domain   获取域名

location.hostname    获取域名

location.host      获取域名+端口

document.domain 在property上,一般不允许更改,除了Mozilla,可利用document.domain的更改实现脚本跨域,如:

a.yy.com  与 b.yy.com  此时yy.com是基础域名,a.yy.com与b.yy.com是当前的域名。若要两个实现跨域,需要指定document.domain="yy.com";

前提条件:这两个域名必须属于同一个基础域名!而且所用的协议,端口都要一致,否则无法利用document.domain进行跨域.

location.hostname 更改后浏览器立即执行请求、域名更改携带之前的参数或者页面路径进行跳转

如:https://i.cnblogs.com/EditPosts.aspx?postid=10303139,当在此页面设置 location.hostname = "www.baidu.com"后,浏览器立即执行跳转到"https://www.baidu.com/EditPosts.aspx?postid=10303139";

猜你喜欢

转载自www.cnblogs.com/bydzhangxiaowei/p/10485131.html