FrameDataTrans教程 博客園 乳鴿菌 20220729 核心原理是使用postMessage發送數據,window.addEventListener("message",fun)監聽。 插件地址 index.htm // <iframe id="fr" src="child.html"> ...
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發送請求,反過來也是可以的