FrameDataTrans教程

博客园 乳鸽菌 20220729

核心原理是使用postMessage发送数据,window.addEventListener("message",fun)监听。

插件地址

index.htm

//    <iframe id="fr" src="child.html"></iframe>
var iFrameDom =document.getElementById("fr"); //创建实例
var frameDataTrans = window.createFrameDataTrans(
window,
iFrameDom.contentWindow
); //两种pos方式
frameDataTrans.post("getText", {text:"111"}, function (data) {
console.log(data);//{text:"222"}
}); var data = await frameDataTrans.postAsync("getText",{text:"111"});
console.log(data);//{text:"222"}

child.html

const frameDataTrans = window.createFrameDataTrans(window, window.parent);

//两种接收pos的方式

frameDataTrans.bindPost("getText", () => {
//使用的时候允许不使用return
return {text:"222"};
}); frameDataTrans.bindPostCallback("getText", (reqData, resFun) => {
//resFun允许不符合数据
resFun({text:"222"});
});

上面例子演示的是index向child发送请求,反过来也是可以的

最新文章

  1. Win8电脑蓝屏并提示dpc_watchdog_violation
  2. 高速PCB之EMC设计47则
  3. VMware Fusion DHCP方式下如何指定虚拟机IP地址
  4. 关于promise(一)
  5. Warning: Multiple build commands for output file /xxx
  6. R语言randomForest包实现随机森林——iris数据集和kyphosis数据集
  7. P102、面试题14:调整数组顺序使奇数位于偶数前面
  8. 假如我来架构12306网站---文章来自csdn(Jackxin Xu IT技术专栏)
  9. Windows 系统下安装 dig 命令
  10. python 3.6 lxml标准库lxml的安装及etree的使用注意
  11. &lt;Dare To Dream&gt;第五次作业:团队项目需求改进与系统设计
  12. 描点的改进:运用chart画图。
  13. 关于cmd命令
  14. linux相关介绍
  15. this和super用法详解
  16. lcd 控制器
  17. VS创建工程出错解决方案
  18. ntpd与ntpdate的区别
  19. 【入门详解】MyBatis入门基础详解
  20. Java 创建多线程的三种方法

热门文章

  1. 98. 验证二叉搜索树 前序遍历解法以及后续遍历解法(go语言)
  2. Go内存管理一文足矣
  3. 无法启动报,To install it, you can run: npm install --save @/components/xxxx.vue
  4. 第06组 Beta冲刺 (2/5)
  5. [XJOI3529] 左右
  6. IDEA windows版本快捷键
  7. MySQL、SqlServer、Oracle,这三种数据库的优缺点,你知道吗?
  8. .NET C#基础(4):属性 - 本质是方法
  9. 剖析虚幻渲染体系(15)- XR专题
  10. GDKOI 2021 Day1 PJ 爆炸记