php main 与 iframe 相互通讯类(同域/跨域)2014-08-20main 与 iframe 相互通讯类之前写过一篇《iframe与主框架跨域相互访问方法》,介绍了main与iframe相互通讯的原理,不了解原理的可以先看看。今天把main与iframe相互通讯的方法封装成类,主要有两个文件,JS:FrameMessage.js 实现调用方法的接口,如跨域则创建临时iframe,调用同域执行者。PHP:FrameMessage.class.php 实现接收到跨域请求时,根据参数返回执行方法的JS code。功能如下:1.支持同域与跨域通讯2.传递的方法参数支持字符串,JSON,数组等。

FrameMessage.exec("http://127.0.0.1/execB.php", "myframe", "fIframe", ["fdipzone", "{"gender":"male","age":"29"}", "["http://blog.csdn.net/fdipzone", "http://weibo.com/fdipzone"]"]);

FrameMessage.exec("http://localhost/execA.php", "", "fMain", ["programmer", "{"first":"PHP","second":"javascript"}", "["EEG","NMG"]"]); 因部分浏览器不支持JSON.stringify 与JSON.parse 方法(如IE6/7),为了兼容,需要包含json2.js,下载地址:https://github.com/douglascrockford/JSON-js