
无需加好友免费技术支持
document.domain 变为能读特性。
不要担心,预估最开始的改变时间 Chrome 101 版本号,如今最新版是 97。
如果你的业务流程根据变更 document.domain 去进行跨域场景,芭比Q马上要更新改造了。
跨域老调重弹讨论的话题,我想大家都清楚,再去唠叨一遍。
简单说:
若网页页面:协议书、域名、端口号 不一样的是,他们资源没法互相浏览。
我们可以通过一些方式绕开这一限定,让非同源网络资源互相浏览,即跨域。
那样用 document.domain 之前是如何跨域的?
如果我们会有这样的场景:
大家在一个页面中 置入了一个 iframe 网页页面 它们二级域名全是 conardli.com。
这时,因为电脑浏览器同源的策略限定,我们自己的首页和 iframe 不可以通讯。
可是,当好几页 document.domain 都设为 conard.com 换句话说,时,电脑浏览器把两个由来视作同源。
这时,首页能够和睦 iframe 通讯(如浏览) iframe 的 document)。
除此之外,还有一个场景,大家在当地调节中会频繁使用:同一域名以及不同端口号间的跨域。
比如,在相关2个网站上,在上架先前,可能我们迫不得已在当地调节作用,并很有可能布署在不同当地端口号:
在默认设置前提下,他们自然不能跨域通讯。在这时候,我们可以应用他们 document.domain 都设为 localhost,大家可以超越端口号的差异限定。
不安全的呀。
你觉得同一个域名的二级域名一定归属于同一个业务流程吗?
不一定,比如,第三方网页页面托管服务大概只有一个二级域名 xxx.com。
不同类型的普通用户使用其服务时能够订制自已的域名。.xxx.com、花朵.xxx.com。
这时,这类跨域方法有可能被乱用。
因此,Chrome 确定禁止使用它。
不急,也有 postMessage。
在大部分场景中, postMessage()或 Channel Messaging API 都可以代替 document.domain。
主界面:
iframe 网页页面:
或许新网站更新改造比较麻烦,或是我对 document.domain 十分偏爱?
将以下几点导入到你的网站上 Header 就行了:
可是,Origin-Agent-Cluster 这一 Header 角色不仅掌握的小伙伴可以评论留言跟我说,要是没有,我便挖个坑告诉你们。