Frame双向通信插件FrameDataTrans

  • Frame双向通信插件FrameDataTrans已关闭评论
  • 165 次浏览
  • A+
所属分类:Web前端
摘要

博客园 乳鸽菌 20220729核心原理是使用postMessage发送数据,window.addEventListener(“message”,fun)监听。
插件地址


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发送请求,反过来也是可以的