【Vue】Vue父页面与iframe内嵌html子页面互调,传参问题

vue 用iframe嵌套其它项目页面针对跨域与传值页面跳转失败处理 需求:A项目中有个菜单点击的时候中心内容页面与B项目的一模一样,所以产品想把B项目的页面直接嵌入过来显示,但其中有几个问题要处理就是嵌入B项目时B项目的左侧菜单和头部导航要隐藏,并而在跳时隐式登录,不需要用户重新在B项目又登录一次。B项目在全局路由router.beforeEach中接收并在里面处理自动登录与跳转的问题。加载Iframe成功前先获取A项目用户ID这里是写的模拟的; 阅读详情

记录一个开发过程中遇到的问题,Vue项目中嵌入了一个iframe,iframe里面的是一个html的页面,这时候想Vue和这个html之间来回互调传参,下面提供解决思路。

1.Vue调用iframe子页面中的方法

这里有一个index.html里面有这样的一些方法

<script>
  function ToFreeCameraFunc() {
      unityInstance.SendMessage("ROAM", "FreeCameraClick");
  }
  function ToAutoRoamFunc() {
      unityInstance.SendMessage("ROAM", "AutoRoamClick");
  }
  function ToManualRoamFunc() {
      unityInstance.SendMessage("ROAM", "ManualRoamClick");
  }
  function InitializationRack(oo) {
      unityInstance.SendMessage("GameManage", "InitializationRackClick",oo);
  }
  
</script>

把这个index.html引入Vue的页面中来,通常我语法是这样写的

 <div v-if="$route.meta.isShow" class="_if" >
      <iframe
        src="/static/index.html"
        id="iframetest"
        ref="iframe"
        frameborder="no"
        scrolling="no"
        allowfullscreen="true"
      ></iframe>
 </div>

我们在Vue页面中调用index.html中的方法时可以这样写:

 methods: {
    autoRoam() {
       this.$refs.iframe.contentWindow.ToAutoRoamFunc();
    },
    manualRoam() {
      this.$refs.iframe.contentWindow.ToManualRoamFunc();
    },
    freeCamera() {
      this.$refs.iframe.contentWindow.ToFreeCameraFunc();
    },
    InitializaClick(data) {
       this.$refs.iframe.contentWindow.InitializationRack(JSON.stringify(data));
    },
},

2.iframe子页面调用父Vue中的方法

这里我们直接调用父页面中的方法就调用不到了,我们需要把父页面中的方法挂载到window对象上,然后子页面中才可以调用

在父Vue页面中,我们这样写一下:

methods: {
   test(){
        console.log("111");
    } 
},
 mounted() {
    let self = this;
    window["goBack"] = () => {
        self.test();
    };
}

打印一下window对象,可以看到,我们的方法已经挂到了window对象上

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASmVmZkhhbl5fXg==,size_19,color_FFFFFF,t_70,g_se,x_16

在iframe中的index.html页面中,我们只要调用父页面的window对象中的方法就可以了

<script>
	function b(){
		window.parent['goBack']();
	}
</script>

 我们看一下iframe页面中的window.parent对象

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASmVmZkhhbl5fXg==,size_13,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASmVmZkhhbl5fXg==,size_10,color_FFFFFF,t_70,g_se,x_16

 发现这个方法也在里面,这样就可以调用成功了。。。

 

 

H5与Cocos Creator iframe通信实战:基于postMessage的完整指南 在Web开发中,跨文档通信是实现复杂应用集成的关键技术,尤其在微前端和混合应用架构中。其核心原理基于浏览器的同源策略与postMessage API,该API允许不同源的窗口间进行安全、异步的数据传递,是实现iframe内外通信的标准方案。这项技术的工程价值在于,它能在保障安全隔离的前提下,实现模块间的解耦与灵活交互,极大地提升了开发效率和系统可维护性。典型的应用场景包括H5活动页嵌入互动游戏、教育平台加载交互式课件等需要动态参数传递与事件同步的混合应用。本文聚焦于H5与Cocos Creator游戏引擎的 阅读详情

相关推荐

uniapp webview与小程序跨端通信:postMessage失效排查与多平台适配指南

跨端通信是混合应用开发中的核心需求,它允许不同运行环境(如Webview、原生容器、小程序逻辑层)间的数据交换与指令传递。其原理通常基于消息传递机制,例如Web标准的postMessage API,但在不同平台环境中,底层实现与安全策略存在显著差异。这项技术的价值在于能够整合H5的灵活性与原生/小程序的性能及能力,实现高效的业务逻辑复用与用户体验统一。典型的应用场景包括在App内嵌H5页面传递用户状态、小程序web-view组件与外部页面的数据同步等。然而,开发者常因混淆环境而误用API,导致看似发送成功却

weixin_34357887的博客 611

vue 通过iframe引入html资源,并传递参数

vue通过iframe嵌入本地集成的html资源

weixin_41765715的博客 2949

基于大模型API的VS Code模拟面试插件设计与实现

面试准备是求职过程中的关键环节,而针对目标岗位的定向模拟训练更能显著提升通过率。本文将技术面试的准备流程与人工智能辅助相结合,介绍如何利用大模型API,在VS Code IDE中构建一个智能模拟面试扩展。文章从面试流程拆解、提示词工程、状态机设计与消息通信等基础原理入手,阐述如何将职位描述解析为结构化考点,并自动生成技术题、场景题与行为题。该方案支持自定义大模型接入,覆盖从倒计时准备、逐题作答到智能评估打分、生成改进建议的完整闭环。适用于日常求职训练、技术团队招聘演练以及AI辅助编程工具的工程化实践,为开发

weixin_34348174的博客 468

vue组件和iframe之间的传值

https://blog.csdn.net/qq_37949984/article/details/108665535

meimeib的博客 1275

初识 内嵌iframe

iframe(内嵌框架)是 HTML 中一种用于将一个网页嵌入到另一个网页中的标签,它可以在一个页面中显示来自其他页面的内容。在网页中,使用标签可以将一个网页嵌套在另一个网页中,实现网页间的互联互通。

m178398家里有只小肥猫 4439

vue --使用 iframe 嵌入页面

<template> <div v-loading="loading" :style="'height:'+ height"> <iframe :src="src" frameborder="no" style="width: 100%;height: 100%" scrolling="auto" /> </div> </template> <script> export default { name: "Swagg

King Saj 1919

Vue内嵌iframe

Vue内嵌iframe及通讯 消息交互方式 父向子传递消息:iframeEl.contentWindow.postMessage 子接收父消息:window.addEventListener(‘message’) 子向父传递消息:window.parent.postMessage 父接收子消息:window.addEventListener(‘message’) 实例-html: parent.h...

csdn_girl的博客 3255

vue与iframe之间的信息交互的实现

说一下我的使用场景:在vue中使用百度地图,需要使用离线地图   先上代码 然后细细品 第一张图   第二张图 第三张图   1.首先iframe 引入你要嵌套的地址 2 .通过vue中给出的ref 来获取 ifarme的DOM元素 如图中的 this.iframeWin = this.$refs.iframe.contentWindow 【拿到iframe的window对象】 3.vue如何向iframe内传送信息 可以通过H5新属性 postmessage 注释:【postMessage是有点类似于UDP协议,就像短信,是异步的,你发信息过去,但是没有返回值的,只能内部处理完成以

Vue内嵌iframe及通讯

Vue内嵌iframe及通讯 消息交互方式 父向子传递消息:iframeEl.contentWindow.postMessage 子接收父消息:window.addEventListener(‘message’) 子向父传递消息:window.parent.postMessage 父接收子消息:window.addEventListener(‘message’) 实例-html: parent...

大前端薯条铭的博客 6712

【C++】C++异常语法、使用、规范、异常安全及异常的优缺点

实际中我们可以可以去继承exception类实现自己的异常类。但是实际中很多公司像上面一样自己定义一套异常继承体系。因为C++标准库设计的不够好用。如果有一个块抛出一个异常,捕获异常的方法会使用 try 和 catch 关键字。try 块中放置可能抛出异常的代码,try 块中的代码被称为保护代码。C++ 提供了一系列标准的异常,定义在 中,我们可以在程序中使用这些标准的异常。异常是一种处理错误的方式,

weixin_51692487的博客 1523

小爱音箱Play增强版刷机接入大模型:自定义唤醒词与远程控制全攻略

智能音箱作为家庭语音入口,受限于厂商预设技能,难以满足个性化需求。通过串口刷机与Linux系统分区改造,可以完全掌控设备底层,将豆包、通义千问等大模型API接入原有音频链路,实现真正智能的语音问答。自定义唤醒词打破了“小爱同学”的唯一唤醒方式,结合ESP32-S3外挂模块,还能优化远场拾音。更深入的应用在于将音箱打造为家庭中控,通过大模型工具调用解析自然语言指令,实现远程控制电脑、智能灯等设备。本文从设备选型、拆机串口、系统备份到语音链路搭建,完整梳理了小爱音箱Play增强版的改造路径,适合具备动手能力的开

weixin_30036289的博客 704

vue 通过 iframe 嵌套 html 互相传参

vue中如何调用iframe的方法传值和iframe如何给vue传值 iframe给Vue页面传值 第一步:需要在iframe的index.html 的js 加入下面代码 function tableClick(name){ window.parent.postMessage({ data :name },'*'); } 完整的index.html代码: <!DOCTYPE html> <html lang="zh"> <head&g

qq_42709302的博客 1338

设计师必看!用Figma MCP自动生成开发文档的隐藏技巧

本文为设计师揭秘利用Figma MCP协议自动生成开发文档的隐藏技巧。通过将设计稿转化为结构化数据,实现设计规范的自动化输出、版本同步与动态更新,并借助AI助手提升协作效率,彻底告别繁琐的手动标注与沟通。

berry的博客 923

vue打开后端html文件,VUE渲染后端返回含有script标签的html字符串示例

VUE渲染后端返回含有script标签的html字符串示例在接入支付宝支付模块的时候,支支返回的是一个form串,细看一下还有一个script标签,如何将其渲染出来给大家分享一下经验。注意点:不能在当前页面追加任何元素例如原生js:innerHtml、appendChiled等等;Vue原生v-html也不可以因为其只能渲染html标签,script不能够识别。需要重新创建一个空白Vue组件,用r...

weixin_42181693的博客 3538

ONFI5.0命令字实战指南:从基础操作到高级应用

本文深入解析ONFI5.0协议的核心——命令字,提供从基础操作到高级应用的实战指南。详细拆解了NAND闪存的复位、读状态、数据读取(00-30)、页编程(80-10)和块擦除(60-D0)等关键命令周期,并探讨了多平面操作与缓存操作等高级性能优化技巧,帮助开发者高效、稳定地与NAND芯片进行底层交互。

vscode5coder的博客 462

高能物理相关软件

国内高能物理实验背景     研究物质最深层次结构及相互作用的前沿基础科学。 现代高能物理实验的要素    实例源 、 探测器、   电子学、  触发 DAQ、  原始数据、 刻度、重建 、物理分析、  成果  。 离线软件的地位和作用。    是硬件设备和物理学家的桥梁,是从数据到物理成果转化中的关键和重要的环节。 高能物理实验及其特点 独一无二性,实验规模越来越大,努力省钱(使用

Alan Zhuang的博客 3298

vue使用iframe内嵌页面并进行数据传输最简单的方式

当前项目中需要嵌套一个其他项目中的页面。

旭久的博客 711

第六部分:VTK进阶(第182章 体素化与隐式建模)

本文系统介绍了基于点云构建有符号距离场(SDF)的核心原理与VTK实现方法。主要内容包括:1)SDF的基本概念与算法原理,通过体素网格隐式表达几何表面;2)关键参数配置指南,如体素分辨率、边界范围和影响半径的选择;3)点云法向估计、SDF计算与等值面提取的完整工作流程;4)常见问题解决方案与性能优化建议。文中提供了详细的C++代码示例,展示从随机点云生成SDF并重建曲面的完整过程,特别强调了法向估计、参数调优和后处理等关键环节。该方法适用于点云表面重建、几何处理等应用场景。

仰望星空的博客 528

.vue文件 转换成html,在vue中把含有html标签转为html渲染页面的实例

在vue中把含有html标签转为html渲染页面的实例在标签内部添加v-html指令即可使用pug的写法:这个content表示的是一个含标签的变量输入content为:我是p标签输出结果是:我是p标签普通用户一样:同上理加v-html就行了以上这篇在vue中把含有html标签转为html渲染页面的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。时间: 2019-...

weixin_29085865的博客 7176

〔重庆理工大学〕计算机组成原理课设报告--16位单周期CPU设计

本课程设计的实验平台为Altera Quartus II 软件和Altera Cyclone V Starter 工具箱。(1)Cyclone V是Altera FPGAs家族的一类,它面向低功耗应用。Cyclone V GX 5CGXFC5C6F27C7N 芯片有不同的转换器,按钮,LED灯,七段显示器,HDMI接口,SD卡读卡器以及其他链接等。Cyclone V GX 5CGXFC5C6F27C7N是Starter工具箱的重要组件。(2)测试台包含在测设备(DUT)和用于仿真的模拟输入。

Pretty Boy Fox的博客 1066

作物生长模型Oryza V3实战2:下载、安装与使用

摘要:ORYZA 现在的应用范围已从单一水稻作物模拟扩展到多个水稻作物模拟。我在csdn站内也上传了“作物生长模型oryza v3大全(含所有参数模板和4个校准程序1个分析工具)”,可以说是全网最全的吧。网上搜索一般下载的v3只有一个a3主程序,不适合作全面与深入的研究,本版本从国外下载回来,一开始少了一个“SoilHydrau.exe”文件,说是有病毒被隔离了,后经历各种技术手段,并向国际水道研究所发送邮件,才得以补全所有的参数化及校准程序、分析工具,来之不易,有缘人得之。

502

html将mysql内容输出_Vue实现将数据库中带html标签的内容输出(原始HTML(Raw HTML))

Vue实现将数据库中带html标签的内容输出(原始HTML(Raw HTML))原始 HTML(Raw HTML)双花括号语法,会将数据中的 HTML 转为纯文本后再进行插值。为了输出真正的 HTML,你需要使用 v-html 指令:使用双花括号语法:{{ rawHtml }}使用 v-html 指令:使用双花括号语法:This should be red.使用 v-html 指令:This sh...

weixin_26766559的博客 763

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

UniApp Webview与小程序通信:postMessage传参失效排查与解决方案

在混合应用开发中,跨环境通信是连接Webview与宿主小程序的关键技术。其核心原理通常基于事件驱动与异步消息机制,通过桥接层实现数据序列化与转发。这一技术的价值在于能够无缝融合H5的灵活性与原生/小程序的高性能,构建功能丰富的混合应用。在实际工程实践中,通信链路可能因配置错误、时序问题或安全策略而中断,导致参数传递失败。本文聚焦于UniApp框架下Webview向小程序传参的典型场景,针对`uni.postMessage`接口调用后参数丢失的常见问题,提供从发送端验证、接收端配置到跨域策略的完整链路诊断方案

weixin_30896511的博客 380

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

微信小程序webview postmessage通信指南

在微信小程序中,内嵌网页可以通过 wx.miniProgram.postMessage 向小程序发送消息,小程序通过 web-view 的 bindmessage 接收,但消息通常会在特定时机批量触发。小程序向网页传参可使用 URL 参数,需要实时双向通信时可采用 WebSocket 等服务端方案。本文通过通俗易懂的代码示例,介绍这些通信方式及其注意事项,帮助你快速上手。

零凌林的博客 3313

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

企业内部后台快速集成 M3U8 预览方案,零开发成本实现流媒体在线查看

企业内部管理平台常需集成流媒体播放功能,自研HLS播放器存在开发成本高、维护负担重、多端适配难等问题。推荐使用m3u8live.cn提供的iframe嵌入方案,只需一行代码即可实现多端兼容、安全可靠的流媒体播放,支持直播/点播/加密流等多种场景。该方案无需引入额外JS库,自动处理浏览器兼容性和版本更新,适用于安防监控、在线教育、直播运营等后台系统,能显著降低开发维护成本,是替代自研播放器的理想选择。

2608_96729545的博客 471

途虎养车前端笔试试卷B深度拆解:考点、答题策略与能力提升

前端笔试考察的不仅是API调用,更是对JavaScript事件循环、闭包、Vue响应式原理等底层机制的理解。随着微前端、Worker上传大文件、前端性能优化等工程实践的普及,企业更关注候选人在复杂业务场景中的方案设计能力。从基础题到手写代码,再到场景设计,中大型互联网公司的笔试题逐渐形成“基础能力+框架深度+场景设计”的筛选结构。以途虎养车2023秋招前端笔试试卷B为例,拆解出题逻辑、高频考点与答题策略,帮助求职者构建系统化前端知识体系,从容应对类似笔试。

weixin_33795806的博客 372
上一篇: 【Java高级特性】java学习之旅33-IO流
下一篇: 【WebSocket】基于 stomp协议的WebSocket,Springboot中实现订阅主题的WebSocket
JeffHan^_^
博客等级 码龄7年 1万+粉丝 134原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JeffHan^_^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值