2016-08-23 48 views
0

我使用Window.postMessage()從iframe調用方法。 父頁面url爲http://uir.glassbeam.com,iframe src爲http://gbdashboards.glassbeam.com當我使用Window.postMessage()調用具有相同協議,域和端口的父功能

當我嘗試從postMessage的iframe中,得到錯誤控制檯上

從 封閉起源「http://gbdashboards.glassbeam.com」框訪問與起源「http://uir.glassbeam.com」的框架。協議, 域和端口必須匹配。

兩個url都有相同的協議,域和端口,但錯誤?

+1

即使域名是相同的子域是不同的。這是錯誤的地方 – Sahan

+0

你不能發佈子域之間http://stackoverflow.com/questions/14443294/how-to-make-postmessage-applicable-to-all-subdomains – Sahan

+0

@Sahan有什麼辦法可以調用父方法/從iframe的功能? –

回答

0

window.postMessage()可以安全地使跨來源通信IF和被執行他們的網頁是在與相同的位置:

  • 協議(通常爲兩個HTTPS)
  • 端口號(443是默認對於HTTPS)
  • 主機(document.domain的由兩個頁面設置爲相同的值)

你的情況document.domain與您的兩個腳本不匹配,正如您的錯誤消息提示您實際上有gbdashboards.glassbeam.comuir.glassbeam.comdocument.domain

相關問題