IFrame跨域問題筆記

方健發表於2014-12-17
  • 問題:希望第三方開發WEB應用可以嵌入到我的頁面中使用。從UI上來說,需要知道第三方頁面內容高度。其他方面可能還會有少量通訊。但是由於同源策略。“殼”不能訪問“芯"。找到幾種方案。

    1. 俄羅斯套娃法
      參考:http://www.jb51.net/article/45340.htm
      俄羅斯套娃法
      基本原理就是A套B,B套a。利用B可以設定a的url,A又能訪問a的方式來傳遞資訊。也就是利用URL來傳。
      不違反跨域。跨域的保護物件是被巢狀者。所以如果B作為被巢狀者主動巢狀了A,可以認為B變相了寫了個CORS

    2. 在HTTP頭裡寫CORS。 如果兩個域都是自己的。是最方便的方式。但如果有個域不是自己的,是不安全的。而且對於前端開發者,也許只是託管一個HTML,要改HTTP頭是比較困難的。

    3. HTML5 postMessage 據說可以互相傳訊息。還沒仔細看。看起來既可以互相傳遞訊息又能限制介面。是比較安全的方式。考慮採用。

更多參考 http://segmentfault.com/blog/eq/1190000000702539

相關文章