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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章