einsy

传说中的湖

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

      网上有很多帖子问到,chrome浏览器file://协议下,就是本地打开的页面,主页面和内嵌的iframe页面无法通讯,

这其实是chrome的安全限制造成的。而实际上,他们之间能异步通讯的。但是不能同步通讯。

    方法:利用HTML5的新api, postmessage。

    在主页面index.htm

    $("IframeID").contentWindow.postmessage("hello world!","*");

    在iframe内内部

 

  if (typeof window.addEventListener != 'undefined')

{

    window.addEventListener('message', function(e)

  {

    alert(e.data)

   }, false);

} 

else if (typeof window.attachEvent != 'undefined')

{

   window.attachEvent('onmessage',  function(e)

  {

    alert(e.data)

   }

);

}

 

 

 

 

 

posted on 2014-01-10 09:11  传说中的湖  阅读(1207)  评论(0编辑  收藏  举报