vue 3.0使用 iframe 标签引入本地HTML页面,并实现数据交互

news2024/12/30 3:06:03

文章目录

      • 1. 问题总结
      • 2. vue中引入html页面
      • 3. vue向html传递数据
      • 4. html向vue传递数据

1. 问题总结

最近在做vue的项目时候,需要引入本地html页面,中间遇到了很多问题,费时又费力,因此记录下来,以备不时之需,也给大家提供点资料。

2. vue中引入html页面

  1. 使用ifram标签直接引用对应的html,代码如下:
<iframe src="/static/b.html" width="100%" height="100%" ref="iframeDom"></iframe>

src路径的问题 + js动画加载的问题: (非常重要)

  1. 本地的html:一定要将用到的html页面放在public文件夹下的static内,如果没有static文件夹,就自己新建一个。
  2. 如果是网络页面,src直接网址写全就行,如:‘https://www.baidu.com’。
  3. 如果再html中需要引入外部的css或者js,这些js和css也必须在public文件夹下 。

如图:在这里插入图片描述

我这里是新建了一个js_css文件夹,然后把html中所用的文件放在了里面,在html中引用这些js或者css文件的话如下:

<link rel="stylesheet" type="text/css" href="js_css/pviz-core.css">
<script src="js_css/pviz-bundle.min.js"></script>

3. vue向html传递数据

vue中的写法
注意:this.$refs.iframeDom.contentWindow 中的iframeDom一定是iframe标签中的ref属性所对应的值。

<template>
    <div class="main">
        <button @click="vueSendMsg">vue向iframe传递信息</button>
        <iframe src="/static/b.html" width="100%" height="100%" ref="iframeDom"></iframe>
    </div>
</template>

<script>
export default {
    name: 'FAQ',
    data() {
        return {
            data_: '哈哈哈,我----过去啦'
        }
    },
    methods: {
        // vue向iframe传递信息
        vueSendMsg() {
        //这里的ifranmeDom 对应 iframe标签中的ref属性的值 (ref="iframeDom")
            const iframeWindow = this.$refs.iframeDom.contentWindow;
            iframeWindow.postMessage({
                cmd: 'myVue',
                params: {
                    info: this.data_,   //需要传递的数据
                }
            }, '*')
        },
    }
}
</script>


<style scoped>
.main {
    display: block;
    width: 100%;
    height: 600px;
}

</style>

iframe引入的html中的写法:

<html>

<head>
    <title>pViz cuslivingstone display example</title>
    <link rel="stylesheet" type="text/css" href="js_css/bootstrap.min.css">
    <link rel="stylesheet" type="text/css" href="js_css/pviz-core.css">
    <script src="js_css/pviz-bundle.min.js"></script>
    <style type="text/css" media="screen" class="example">
    </style>
</head>

<body class="container">
    <div class="row">
        <h2>pViz custom display with css example</h2>
    </div>
    <h3>iframe嵌入的页面</h3>
    <script class="example">
        window.addEventListener("message", function (event) {
            var data = event.data;
            // 然后就可以获得vue传过来的数据
            console.log("从vue中获得的数据", data);
        }, '*')
    </script>
</body>
</html>

4. html向vue传递数据

暂时没用到—后续更新

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/562130.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

顺序表 ArrayList

目录 1. 概念 2. ArrayList集合框架图 3.ArrayList常见的方法 4. 自己实现ArrayList&#xff08;Integer&#xff09; 4.1 ArrayList构造 4.2 ArrayList容量的扩容 4.3 判断空满 4.4 pos坐标是否合法&#xff08;含有&#xff09; 4.5 ArrayList的增删元素 4.6 包含元…

操作系统原理 —— 死锁的概念(十七)

什么是死锁 什么是死锁&#xff0c;如果你是个程序员&#xff0c;那么这概念肯定是不陌生的&#xff0c;死锁通常是指&#xff0c;在并发环境下&#xff0c;各个进程因竞争资源而造成一种相互等待的现象&#xff0c;导致的结果就是各个进程都处于阻塞状态&#xff0c;无法往下…

老司机解读香农定理、奈奎斯特定理、编码与调制

工程师都会考虑一个问题&#xff1a;信道上到底可以传输多大的数据&#xff0c;或者指定的信道上的极限传输率是多少。这就是信道容量的问题。例如&#xff0c;在xDSL系统中&#xff0c;我们使用的传输介质是仅有几兆带宽的电话线&#xff0c;而上面要传送几兆、十几兆甚至几十…

cuda编程学习——基础知识介绍!干货向(三)

本文主要内容为介绍CUDA编程前的一些基础知识 参考资料&#xff1a; 高升博客 《CUDA C编程权威指南》 以及 CUDA官方文档 文章、讲解视频同步更新公众《AI知识物语》&#xff0c;B站&#xff1a;出门吃三碗饭 1&#xff1a;并行计算 并行程序可以分为 指令并行&#xff1…

还在使用System.out+System.currentTimeMillis打印耗时?Xrebel是你不可或缺的神器!

1、概述 在Java应用程序中&#xff0c;性能是至关重要的。由于Java应用程序通常在高并发环境中运行&#xff0c;并处理大量数据&#xff0c;因此需要确保其能够高效地运行。为了帮助开发人员更好地实现Java应用程序的性能调优&#xff0c;ZeroTurnaround推出了XRebel。 XRebe…

测试用例的设计方法(全)

等价类划分方法 一.方法简介 1.定义 是把所有可能的输入数据,即程序的输入域划分成若干部分&#xff08;子集&#xff09;,然后从每一个子集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的,常用的黑盒测试用例设计方法。 2.划分等价类&#xff1a; 等价…

Stimulsoft 报表开发工具支持Laravel框架!一起来看~

Stimulsoft Reports 是一款报告编写器&#xff0c;主要用于在桌面和Web上从头开始创建任何复杂的报告。可以在大多数平台上轻松实现部署&#xff0c;如ASP.NET, WinForms, .NET Core, JavaScript, WPF, Angular, Blazor, PHP, Java等&#xff0c;在你的应用程序中嵌入报告设计器…

2023-05-24 LeetCode每日一题(T 秒后青蛙的位置)

2023-05-24每日一题 一、题目编号 1377. T 秒后青蛙的位置二、题目链接 点击跳转到题目位置 三、题目描述 给你一棵由 n 个顶点组成的无向树&#xff0c;顶点编号从 1 到 n。青蛙从 顶点 1 开始起跳。规则如下&#xff1a; 在一秒内&#xff0c;青蛙从它所在的当前顶点跳…

Jupyter Notebook 10个提升体验的高级技巧

Jupyter 笔记本是数据科学家和分析师用于交互式计算、数据可视化和协作的工具。Jupyter 笔记本的基本功能大家都已经很熟悉了&#xff0c;但还有一些鲜为人知的技巧可以大大提高生产力和效率。在这篇文章中&#xff0c;我将介绍10个可以提升体验的高级技巧。 改变注释的颜色 颜…

工程安全监测振弦采集仪在岩土工程中的应用

工程安全监测振弦采集仪在岩土工程中的应用 岩土工程中使用振弦采集仪在工程建设中起着至关重要的作用。振弦采集仪可以测量地面或者岩土中的振动参数&#xff0c;通过这些参数可以对地基、土壤和岩体的性质及其变化进行监测&#xff0c;帮助我们更好地了解工程地质条件和工程建…

Windows 11将加入Copilot的AI助手;约26%的中国用户已经部署了生成式AI技术

&#x1f680; 微软在Build开发者大会上宣布&#xff0c;将在Windows 11中加入一个名为Copilot的AI助手 微软在Build开发者大会上宣布&#xff0c;将在Windows 11中加入一个名为Copilot的AI助手&#xff0c;用户可以在任何应用程序中调用它&#xff0c;并根据用户的需求提供智…

【C++ 学习 ⑧】- STL 简介

目录 一、什么是 STL&#xff1f; 二、STL 的版本 三、STL 的 6 大组件和 13 个头文件 四、学习 STL 的 3 个境界 五、STL 的缺陷 参考资料&#xff1a; STL教程&#xff1a;C STL快速入门&#xff08;非常详细&#xff09; (biancheng.net)。 C STL是什么&#xff0c;有…

“五一”假期出行,伴随着哪些风险

2023年“五一”假期&#xff0c;文化和旅游行业复苏势头强劲&#xff0c;全国假日市场平稳有序。文化和旅游部数据中心测算&#xff0c;全国国内旅游出游合计2.74亿人次。 据交通部门数据显示&#xff0c;自4月27日铁路“五一”假期运输启动以来&#xff0c;截至5月4日&#x…

旧照片怎么修复成新照片?分享三种简单好用的修复方法

旧照片是我们珍贵的回忆&#xff0c;但是随着时间的推移&#xff0c;它们可能会因为自然衰老或者其他原因而变得模糊或者损坏。修复旧照片可以让我们重新体验美好的回忆&#xff0c;保留珍贵的记忆。随着技术的进步&#xff0c;现在可以通过数字化技术将旧照片修复成数字照片&a…

如何理解机器人学习和研究中的存量和增量

对于博客流量也类似如此&#xff0c;存量很重要&#xff0c;增量随着需求减弱&#xff0c;导致后发优秀的博主想要获得更高的关注和流量&#xff0c;需要花费比10年前博主更多的精力和时间。 自己工作地方现状就是存量薄弱&#xff0c;增量缓慢。 存量可以理解为基础增量可以理…

leecode77——组合(回溯算法)

leecode77 组合问题 &#x1f50e;1.回溯算法是什么&#xff1f; 其实回溯算法和我们常说的 DFS 算法非常类似&#xff0c;本质上就是一种暴力穷举算法。回溯算法和 DFS 算法的细微差别是&#xff1a;回溯算法是在遍历「树枝」&#xff0c;DFS 算法是在遍历「节点」。 解决回…

第四十九天学习记录:C语言进阶:结构体

结构体 结构体的声明 结构是一些值的集合&#xff0c;这些值称为成员变量。结构的每个成员可以是不同类型的变量 struct tag {member-list; }variable-list;问&#xff1a;C的new和C语言的结构体有什么异同&#xff1f; ChatAI答&#xff1a; C中的new是一个运算符&#xff…

Scrum的三个工件(产品Backlog、Sprint Backlog、产品增量 )

产品Backlog •产品backlog是一个按照价值排序的需求清单。 •为了达成产品目标&#xff0c;所有的需求都需要放到产品backlog中进行管理和规划。 •由产品负责人负责管理和维护。 产品Backlog当中的工作按照迭代的方式推进 •在Scrum中Sprint&#xff08;冲刺&#xff09…

Spring Security 中的过滤器链是什么?它的作用是什么

Spring Security是一个安全框架&#xff0c;它提供了强大的安全保护功能&#xff0c;可以帮助开发者更加方便地实现应用程序的安全性。Spring Security中的过滤器链是其中一个非常重要的部分&#xff0c;它起到了非常重要的作用。本文将介绍什么是Spring Security中的过滤器链&…

经典JavaScript手写面试题和答案

文章目录 实现一个函数去重&#xff1f;实现一个函数&#xff0c;判断指定元素在数组中是否存在&#xff1f;实现一个函数&#xff0c;将给定字符串反转&#xff1f;实现一个函数&#xff0c;检测指定字符串是否为回文&#xff08;即从前往后和从后往前的字符序列都相同&#x…