Welcome 微信登录

首页 / 网页编程 / PHP / php main 与 iframe 相互通讯类(同域/跨域)

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