php main 与 iframe 相互通讯类(js+php同域/跨域)


Posted in Javascript onSeptember 14, 2017

main 与 iframe 相互通讯类

之前写过一篇《iframe与主框架跨域相互访问方法》,介绍了main与iframe相互通讯的原理,不了解原理的可以先看看。

今天把main与iframe相互通讯的方法封装成类,主要有两个文件,

JS:FrameMessage.js 实现调用方法的接口,如跨域则创建临时iframe,调用同域执行者。
PHP:FrameMessage.class.php 实现接收到跨域请求时,根据参数返回执行方法的JS code。

功能如下:

1.支持同域与跨域通讯
2.传递的方法参数支持字符串,JSON,数组等。

php main 与 iframe 相互通讯类(js+php同域/跨域)

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"]']); 

php main 与 iframe 相互通讯类(js+php同域/跨域)

FrameMessage.exec('http://localhost/execA.php', '', 'fMain', ['programmer', '{"first":"PHP","second":"javascript"}', '["EEG","NMG"]']);

因部分浏览器不支持JSON.stringify 与JSON.parse 方法(如IE6/7),为了兼容,需要包含json2.js,下载地址:

Javascript 相关文章推荐
JQuery CSS样式控制 学习笔记
Jul 23 Javascript
Javascript在IE下设置innerHTML时出现未知的运行时错误的解决方法
Jan 12 Javascript
AngularJS实现一次监听多个值发生的变化
Aug 31 Javascript
微信公众平台开发教程(六)获取个性二维码的实例
Dec 02 Javascript
Jquery实现跨域异步上传文件总结
Feb 03 Javascript
Bootstrap表单使用方法详解
Feb 17 Javascript
ES6下React组件的写法示例代码
May 04 Javascript
浅析node应用的timing-attack安全漏洞
Feb 28 Javascript
Vue 去除路径中的#号
Apr 19 Javascript
移动端H5页面返回并刷新页面(BFcache)的方法
Nov 06 Javascript
JS端基于download.js实现图片、视频时直接下载而不是打开预览
May 09 Javascript
vue实现打地鼠小游戏
Aug 21 Javascript
iframe与主框架跨域相互访问实现方法
Sep 14 #Javascript
VsCode插件整理(小结)
Sep 14 #Javascript
推荐VSCode 上特别好用的 Vue 插件之vetur
Sep 14 #Javascript
vue 计时器组件的实现代码
Sep 14 #Javascript
详解tween.js的使用教程
Sep 14 #Javascript
JS库之wow.js使用方法
Sep 14 #Javascript
JavaScript正则表达式和级联效果
Sep 14 #Javascript
You might like
php mb_substr()函数截取中文字符串应用示例
2014/07/29 PHP
thinkphp中ajax与php响应过程详解
2014/12/08 PHP
php显示指定目录下子目录的方法
2015/03/20 PHP
CI(Codeigniter)的Setting增强配置类实例
2016/01/06 PHP
PHP以json或xml格式返回请求数据的方法
2018/05/31 PHP
js静态作用域的功能。
2006/12/25 Javascript
表单元素的submit()方法和onsubmit事件应用概述
2013/02/01 Javascript
关于JQuery($.load)事件的用法和分析
2013/04/09 Javascript
关于JavaScript与HTML的交互事件
2013/04/12 Javascript
javascript之typeof、instanceof操作符使用探讨
2013/05/19 Javascript
Jquery自定义button按钮的几种方法
2014/06/11 Javascript
jQuery插件Timelinr 实现时间轴特效
2015/10/04 Javascript
详解jQuery uploadify文件上传插件的使用方法
2016/12/16 Javascript
推荐VSCode 上特别好用的 Vue 插件之vetur
2017/09/14 Javascript
javascript代码优化的8点总结
2018/01/29 Javascript
利用node 判断打开的是文件 还是 文件夹的实例
2019/06/10 Javascript
vue实现将一个数组内的相同数据进行合并
2019/11/07 Javascript
vue 查看dist文件里的结构(多种方式)
2020/01/17 Javascript
python字符串替换的2种方法
2014/11/30 Python
Python中的hypot()方法使用简介
2015/05/18 Python
kaggle+mnist实现手写字体识别
2018/07/26 Python
Python数据可视化教程之Matplotlib实现各种图表实例
2019/01/13 Python
Python绘制频率分布直方图的示例
2019/07/08 Python
使用Python实现跳一跳自动跳跃功能
2019/07/10 Python
Python实现元素等待代码实例
2019/11/11 Python
Python定时从Mysql提取数据存入Redis的实现
2020/05/03 Python
使用gunicorn部署django项目的问题
2020/12/30 Python
荷兰浴室和卫浴网上商店:Badkamerxxl.nl
2020/10/06 全球购物
abstract 可以和 virtual 一起使用吗?可以和 override 一起使用吗?
2012/10/15 面试题
4s客服专员岗位职责
2013/12/01 职场文书
和睦家庭事迹
2014/05/14 职场文书
离婚协议书样本
2015/01/26 职场文书
死亡诗社观后感
2015/06/05 职场文书
2015暑假实习报告范文
2015/07/13 职场文书
Python源码解析之List
2021/05/21 Python
mysql中整数数据类型tinyint详解
2021/12/06 MySQL