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 的方案

缺点:能根治,但是改动较大

参考:Chrome115 iframe跨域失败 - 掘金

你可能感兴趣的:(spring,spring,cloud,webapi,chrome,前端,javascript)