跨域问题的解决
文章目录
当两个
URL
的协议、端口号和主机至少有一个不一致的时候,如果想让这两个源的资源进行交互,就需要用到跨域的技术了。
那么哪些技术可以解决跨域问题呢?
解决跨域的方法我们可以根据我们想要实现的目的来划分。
实现主域名下不同的子域名的跨域操作
document.domain
我们可以使用设置 document.domain
来解决。
将 document.domain
设置为主域名,来实现相同子域名的跨域操作,这个时候主域名下的 cookie
就能够被子域名所访问。同时如果文档中含有主域名相同,子域名不同的 iframe
的话,我们也可以对这个 iframe
进行操作。
解决不同跨域窗口间的通信问题
如果是想要解决不同跨域窗口间的通信问题,比如说一个页面想要和页面中的不同源的 iframe
进行通信的问题,我们可以使用 location.hash
或者 window.name
或者 postMessage
来解决。
location.hash
使用 location.hash
的方法,我们可以在主页动态的修改 iframe
窗口的 hash
值,然后在 iframe
窗口里实现监听函数来实现这样一个单