原因:
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
的方案
缺点:能根治,但是改动较大