当前位置: 首页 > news >正文

电商网站设计的原则腾讯视频创作平台

电商网站设计的原则,腾讯视频创作平台,万网衡水网站备案,网站上的菠菜游戏哪里可以做使用 postMessage API 来实现跨窗口(跨域)的消息传递。postMessage 允许你安全地发送消息到其他窗口,包括嵌套的 iframe,而不需要担心同源策略的问题。 发送消息(父应用) 1. 父应用:发送消息给…
使用 postMessage  API 来实现跨窗口(跨域)的消息传递。postMessage 允许你安全地发送消息到其他窗口,包括嵌套的 iframe,而不需要担心同源策略的问题。

发送消息(父应用)

1. 父应用:发送消息给子应用

父应用可以通过 postMessage 将消息发送给子应用。需要注意的是,发送消息时,需要指定目标窗口和目标窗口的来源(即目标 iframe 的 origin),以确保安全性。

 iframe.contentWindow.postMessage(message, targetOrigin)

 使用 postMessage 向子应用发送消息。message 是要发送的数据,可以是任何 JavaScript 对象。targetOrigin 是目标窗口的源(例如:http://child-app.com),它确保消息只发送到具有这个源的窗口。

2、接收消息(子应用)

子应用通过监听 message 事件来接收父应用发送的消息。收到消息后,子应用可以根据消息中的 type 字段来执行不同的操作。

示例:父应用与子应用通信

1. 父应用:发送消息给子应用

父应用通过 postMessage 向 iframe 中的子应用发送一个包含 type 的消息。我们还可以通过 targetOrigin 来确保消息只发送到指定的子应用。

<!-- 父应用 -->
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Parent App</title>
</head>
<body><h1>Parent Application</h1><!-- iframe 中嵌套子应用 --><iframe id="childIframe" src="http://child-app.com" width="600" height="400"></iframe><button onclick="sendMessageToChild()">发送消息到子应用</button><script>// 发送消息到子应用function sendMessageToChild() {const iframe = document.getElementById('childIframe');const message = {type: 'CLEAR_INPUT',  // 消息类型data: { message: '请清空输入框' }};// 使用 postMessage 发送消息到子应用iframe.contentWindow.postMessage(message, 'http://child-app.com');  // 子应用的 origin}</script>
</body>
</html>
2. 子应用:接收父应用发送的消息

子应用会监听 message 事件,接收到消息后可以处理它。通常可以根据 message.type 来决定如何处理消息。

<!-- 子应用 (iframe 内容) -->
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Child App</title>
</head>
<body><h1>Child Application</h1><input type="text" id="inputField" placeholder="请输入内容..."><script>// 监听父应用发送的消息window.addEventListener('message', function(event) {// 验证消息的来源if (event.origin !== 'http://parent-app.com') {return;  // 如果消息来源不正确,则忽略}const message = event.data;console.log('Received message from parent:', message);// 根据消息的 type 执行不同操作if (message.type === 'CLEAR_INPUT') {document.getElementById('inputField').value = '';  // 清空输入框}});</script>
</body>
</html>

如何在vue本地项目进行iframe测试通讯

1、新建一个iframe.vue页面,为父页面

// 父应用
<template><div class="act-form"><iframe :src="src" id="childIframe" width="600" height="400"></iframe><el-button @click="sendMessage">向iframe发送信息</el-button></div>
</template><script>export default {data () {return {src: '',}},created() {// 当前我本地运行的端口为 localhost:8080  需要根据实际情况调动this.src = 'http:localhost:8080/home?id=18' },methods: {sendMessage () {const iframe = document.getElementById('childIframe');const message = {type: 'CLEAR_INPUT',  // 消息类型data: { message: '请清空输入框' }};// 使用 postMessage 发送消息到子应用iframe.contentWindow.postMessage(message, this.src);  // 子应用的origin},},}
}
</script>

2、子应用 

<!-- 子应用 (iframe 内容) -->
<template><div> // 内容区域</div>
</template><script>export default {data () {return {},created() {// 在外部vue的window上添加postMessage的监听,并且绑定处理函数handleMessagewindow.addEventListener('message', this.handleMessage)},methods: {handleMessage (event) {// 根据上面制定的结构来解析iframe内部发回来的数据// 验证消息的来源if (event.origin !== 'http://parent-app.com') {return;  // 如果消息来源不正确,则忽略}const message = event.data;console.log('Received message from parent:', message);// 根据消息的 type 执行不同操作if (message.type === 'CLEAR_INPUT') {// 在这里执行你需要的逻辑}});}}beforeDestroy(){  // 页面关闭移除监听window.removeEventListener("message", this.handleMessage);}
</script>

http://www.yayakq.cn/news/602594/

相关文章:

  • 如何获得网站域名上海网站建设网页设计
  • 找人给公司做网站去哪找怎么做网站推广实际效果好
  • dw如何做网站登陆验证域名大全
  • 网站建设工作整改报告成都网页开发
  • 新手建站素材域名后有个wordpress
  • 网站开发技术文档格式零基础网页设计制作培训
  • 做网站的是哪类公司十大免费文案网站
  • 专门做优惠劵的网站做牛仔裤的视频网站
  • 网站导航作用东莞网站建设设计
  • 网站定制建设公司阿里云建设网站流程
  • 可信网站认证图标手机网站建设 上海
  • 婚庆摄影网站模板公众号开发平台官网
  • 织梦网站添加广告位百度号码认证
  • 建站系统是什么做网站包括什么
  • 图书管理系统网站开发深圳 建网站
  • 如何自己制作自己的网站门户网站自查报告
  • 网站编辑工作内容wordpress 快速编辑器
  • ip下的网站吗如何只做网站
  • 如何建设一个专业的网站WordPress集成阿里图标
  • 网站互动怎么做小杨哥直播带货平台
  • 淘宝领券网站怎么做网站php文件上传
  • 不同类型的网站少儿编程scratch
  • 0建设营销型网站步骤沈阳网站关键词优化多少钱
  • 苏州网站建站公司云南seo简单整站优化
  • 伪静态 网站如何扫描郑州中森网站建设
  • 濮阳网站建设熊掌网络多语言网站怎么实现
  • 专题网站可以做什么做网站前端要会什么
  • jsp做的网站运行都需要什么怎样进行网站建设步骤
  • 菏泽网站建设价格深圳品牌网站推广公司哪家好
  • 网站建设合同书-详细版网站开发制作全包