首页 > 解决方案 > 如何设置同源策略的端口部分?

问题描述

我知道这document.domain设置了同源策略的域部分。如何设置同源策略的端口部分?

细节

我可以document.domain用来设置域部分。这会将端口部分设置为null。默认情况下,iframe 中的文档将端口部分设置为 80/443。所以同源策略失败,父 JS 将无法访问 iframe 内容文档对象。那么有没有办法在父JS中设置同源策略的端口部分呢?

标签: javascriptwebsame-origin-policy

解决方案


来自MDN 文档

端口号由浏览器单独检查。对 document.domain 的任何调用,包括 document.domain = document.domain,都会导致端口号被 null 覆盖。因此,仅在第一个中设置 document.domain = "company.com" 是无法使 company.com:8080 与 company.com 通信的。它必须在两者中设置,因此它们的端口号都是空的。


推荐阅读