首页前端开发JavaScript你对javascript中的postMessage怎么用吗?

你对javascript中的postMessage怎么用吗?

时间2024-01-30 08:10:02发布访客分类JavaScript浏览817
导读:收集整理的这篇文章主要介绍了你对javascript中的postMessage怎么用吗?,觉得挺不错的,现在分享给大家,也给大家做个参考。javascript中的postMessage父页面、子页面,两页面不同域,之间对话用到了postMe...
收集整理的这篇文章主要介绍了你对javascript中的postMessage怎么用吗?,觉得挺不错的,现在分享给大家,也给大家做个参考。javascript中的postMessage

父页面、子页面,两页面不同域,之间对话用到了postMessage。下面为了方便统称为F、C页。

C页按钮的点击事件向F页发送一个消息小C,F页收到消息小C执行逻辑LC,LC执行完毕,F页向C页发送一个消息小F,C页收到消息小F执行逻辑LF。一句话,就是F、C页间相互通信。

可以认为

类似于react中的父子组件通信。

C页js代码:

VAR BTnObj = document.getElementById('buttons');
btnObj.onclick = function(){
     var defaultAdData = {
                 tyPE:'advert',                  gameData:{
                     adId: '123'                 }
         }
    ;
         window.parent.postMessage(JSON.stringify(defaultAdData), '*');
    /*我是错误代码:     var receiveMessage = function(event) {
             var datas = JSON.parse(event.data);
             if (datas.type === "adGivePRize"&
    &
datas.givePrize) {
                 alert(‘click’);
         }
     }
         window.addEventListener("message", receiveMessage, false);
*/ }
 /*我是正确代码: var receiveMessage = function(event) {
         var datas = JSON.parse(event.data);
         if (datas.type === "adGivePrize"&
    &
datas.givePrize) {
             alert(‘click’);
     }
 }
     window.addEventListener("message", receiveMessage, false);
    */

F页js代码:

var receiveMessage = function(event) {
          var datas = JSON.parse(event.data);
      if (datas.type === "advert") {
            var postIframeData = {
                    type:'adGivePrize',                    givePrize:true            }
    ;
                //iframe发送信息~~~~            window.frames[0].postMessage(JSON.stringify(postIframeData), '*');
      }
}
    window.addEventListener("message", receiveMessage, false);
    

总之,此方法提供了两个不相干页面的通信,使得外建的项目或者内嵌的iframe,可以互相通信。

推荐学习:《javascript基础教程

以上就是你对javascript中的postMessage怎么用吗?的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

上一篇: 深入了解Node.js中的四大流解决...下一篇:怎么彻底删除nodejs猜你在找的JavaScript相关文章 html font标签如何设置字体大小?html font标签属性用法介绍2022-05-16vue3+TypeScript+vue-router的使用方法2022-04-16vue3获取当前路由地址2022-04-16如何利用React实现图片识别App2022-04-16JavaScript展开运算符和剩余运算符的区别详解2022-04-16微信小程序中使用vant框架的具体步骤2022-04-16Vue elementUI表单嵌套表格并对每行进行校验详解2022-04-16如何利用Typescript封装本地存储2022-04-16微信小程序中wxs文件的一些妙用分享2022-04-16JavaScript的Set数据结构详解2022-04-16 其他相关热搜词更多phpjavapython程序员load

若转载请注明出处: 你对javascript中的postMessage怎么用吗?
本文地址: https://pptw.com/jishu/592262.html
ASP.NET Core项目配置教程(6) 聊聊Angular中常用的错误处理方式

游客 回复需填写必要信息