当前位置: 首页 > Web前端 > HTML5

常见的跨域解决方案(二)----CORS、postMessage

时间:2023-04-05 21:19:22 HTML5

CORSCORS需要浏览器和后端都支持。IE8和9需要通过XDomainRequest来实现。浏览器会自动进行CORS通信。实现CORS通信的关键是后端。只要后端实现了CORS,就实现了跨域。实现方法服务端设置Access-Control-Allow-Origin,表示哪些域名可以访问资源。如果设置了通配符*,则表示所有网站都可以访问资源。postMessagewindow.postMessage()方法可以安全的实现跨域通信,可以实现跨文本文档、多窗口、跨域消息传递。使用场景页面等新开窗口传输数据多窗口页面与嵌套iframe消息之间的消息传输参数介绍(官网文档:https://developer.mozilla.org...otherWindow.postMessage(message,targetOrigin,[transfer]);message:要发送给其他窗口的数据targetOrigin:通过窗口的origin属性指定哪些窗口可以接收消息,可以设置为url或wildcard*。发送消息时,如果协议是目标窗口,如果主机地址和端口号中的任何一个与targetOrigin提供的值不匹配,则不会发送消息。只有当三者完全匹配时,才会发送消息。Transferable可转移对象。这些对象的所有权将转移给邮件的收件人,发件人将不再保留所有权。