Chrome iframe 跨域失败
原因:
Chrome 稳定版禁用 document.domain setter
解决方案(4种):
1 使用低版本Chrome
缺点:无法保证用户浏览器版本。
2 浏览器设置:
浏览器地址栏输入 chrome://flags/#origin-agent-cluster-default
然后修改 Origin-keyed Agent Clusters by default 选项值为 Disabled
缺点:无法对每个客户进行修改
3 程序设置(推荐)
设置Origin-Agent-Cluster响应头
java代码:response.setHeader("Origin-Agent-Cluster", "?0");
缺点:Origin-Agent-Cluster没有纳入html标准,将来可能失效。
4 前端换方法(推荐)
使用 window.postMessage 或 Channel Messaging API 实现iframe跨域访问,替代修改 document.domain 的方案
缺点:能根治,但是改动较大
参考:https://juejin.cn/post/7267417057440219191