原因:
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