JavaScript iframe cross domain

  • 1415
  • 0

摘要:JavaScript iframe cross domain

若要從 child傳值到 parent,最簡單的方法是在 child修改 window.top.location.href(有點怪,不能讀,但能寫),改 #hash值可避免網頁重新載入。

http://benalman.com/projects/jquery-postmessage-plugin/:可以讓 child page傳送資料到 parent page,用法如網頁上的範例:


// child page
$.postMessage(
  'hello world',
  'http://benalman.com/test.html', // 通常等於 document.referrer
  parent // 可省略
);

//parent page
$.receiveMessage(
  function(e){
    alert( e.data );
  },
  'http://rj3.net'
);

http://blog.darkthread.net/blogs/darkthreadtw/archive/2010/10/17/7008.aspx:中文應該無需翻譯XD,請注意【重要提醒】。

原本想說可以省略 iframeproxy.htm;既然 parent page要提供服務,那它就應該判斷自己是否被包含在兩層 iframe裡,決定該如何處理。在 child page裡只要看 document.referrer指到誰就把產生出來的 iframe src指到誰身上。然後就會無窮迴圈參考到自己XD

若要從 parent傳值到 child,最簡單的方法是在 parent修改 child iframe src,改 hash,在 child裡觀察 hash值。

如果能傳字串,就能自定格式呼叫 function... blah blah.