前端跨域方法之document.domain和location.hash

document.domain

如果两个窗体一级域名相同,只是二级域名不同,那么浏览器是允许通过设置document.domain共享数据。只要将document.domain设置成相同的域名就可以共享数据。

location.hash

一、片段识别符(location.hash)
指的是URL的#后面的部分,比如http:127.0.0.1:3000/index.html#hello的#hello,只改变hash是不会刷新页面。
同样该方法也只适用于不同窗体之间跨域请求。
二、跨域的方式
1、父窗体可以把信息写在子窗体的href的hash上,子窗口通过监听 hashchange事件获取信息。
2、子窗体改变父窗体的hash值,那么就要借助第三个子窗体,第三个子窗体是第二个子窗体的子窗体。(第三个子窗体要与父窗体同源)
第二个子窗体把信息设置在第三个子窗体的hash值上,然后第三个子窗体改变父窗体的hash值,从而实现跨域。

你可能感兴趣的:(javascript)