2013/08/13

在Chrome中,iframe中呼叫parent function的問題

在開HTML發網頁時,Page A以iframe的方式包含了Page B,而B則會下列方式呼叫A的function。
parent.test('abc');

當執行到這行呼叫時,chrome會丟出錯誤
Blocked a frame with origin "null" from accessing a frame with origin "null". Protocols, domains, and ports must match.

一直無法瞭解這錯誤的成因,也不知怎麼解決。
但後來發現,如果把Page A, B放進server (如Tomcat),瀏覽器是以http://的方式去執行,就可以正常作業;而原來是以瀏覽器直接開檔案的方式來測 (用file://),就會有前述的問題。

嗯...這個問題花了我5小時...

2 則留言:

匿名 提到...

太好的經驗了,跟你一樣卡關,感謝你的紀錄

yoyochen 提到...

工程師們總是會遇到問題,也會一一解決問題
把這些問題與解法都紀錄下來,就可以讓其他人少走些冤枉路