vue中如何通过iframe方式加载本地的vue页面

news2024/10/7 14:22:00

这个需求一般很少能遇到,只要说去了iframe,很多人就会唾弃。

但是有时候的确无法避免使用它,当iframe的特性带来的优势远远高于自己用div模拟的时候

啥时候需要用到iframe加载本地的vue文件呢

  • 我在写一个demo,我需要demo效果模拟在手机中运行。
  • 同时我本地代码编辑的时候iframe的内容也要同时更新,否者会很影响开发效率。

一开始

我在项目目录新建了个iframe.html文件,然后在vue文件的html标签里面新增个iframe并且把src写成

/iframe.html,然后通过BroadcastChannel来和主页面通讯

这个看起来没什么问题

问题来了

  • 如何导入原来的jsx或者.vue文件呢?
  • 我们编辑jsx或者.vue文件的时候,如何让iframe的内容实时更新呢

上面的实现方式无解

iframe严重依赖了src这个属性,src必须指向一个有效的网页地址

网页地址?vue不是也有路由么?

拿我们写个路由,这个路由的页面专门存放iframe要显示的内容,那不就可以了

说干就干

路由

{
        path: "/iframe",
        name: "iframe",
        component: DemoIframe,
    },

DemoIframe是存放iframe内容的页面

在另外个vue页面添加如下内容

<iframe
  src="/#/iframe"
  id="frames"
  frameborder="0"
  sandbox="allow-forms allow-scripts allow-same-origin allow-popups"
  style="height: 100%; width: 100%"
></iframe>

完美,即使部署到线上也是没有问题的

是想后的效果如下

麻烦的地方

  • 是多了一个路由和一个页面
  • 无法使用pinia这种状态管理直接iframe与主窗口的通讯,因为iframe是沙箱,是个独立的窗口,调试工具会看到如下,有2个应用
  • 如何解决两个app 2份状态管理数据的问题呢,可以使用BroadcastChannel来同步数据,BroadcastChannel的特性是向其他窗口发送数据,自己是无法接受到自己的数据的,所以接受数据的代码不需要区分自己和其他窗口

方便的地方

  • 用上了iframe沙箱的功能,独立于主页面的窗口,css position:fixed;不会破坏主页面的样式,也不需要特殊处理

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

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

相关文章

【接口测试】神器JMeter

‍1 JMeter是什么 Apache JMeter是Apache组织开发的一款开源软件&#xff0c;是一款非常好用的接口测试工具。它的特点是开源免费&#xff0c;简单好用。 我们在测试过程需要做接口测试的话就可以使用它&#xff0c;也可以用来批量造数据&#xff0c;接下来我们就来看看JMete…

Django框架之验证码简单实现

是一种方式防止csrf的策略。在用户注册、登录页面的时候使用&#xff1b;为了防止暴力请求&#xff0c;减轻服务器压力。 目录 安装pillow库 验证码显示 引入类库 视图方法 创建路由 创建表单 模板内容 模板路由 模板视图 视图验证 路由 引入 验证视图 效果 成功…

从7K到20K,在测试行业摸爬滚打的这5年,想个2023年还没找到工作的提个醒~

我是一名转IT测试人&#xff0c;我的专业是化学&#xff0c;去化工厂实习才发现这专业的坑人之处&#xff0c;化学试剂害人不浅&#xff0c;有毒&#xff0c;易燃易爆&#xff0c;实验室经常用丙酮&#xff0c;甲醇&#xff0c;四氯化碳&#xff0c;接触多了&#xff0c;吃个饭…

JMeter 接口测试教程,详解 HTTP Request 取样器和 fiddler 调试技巧!

目录 前言&#xff1a; 一、HTTP Request取样器介绍 二、使用HTTP Request取样器进行接口调试 1. 创建测试计划&#xff08;Test Plan&#xff09;和线程组&#xff08;Thread Group&#xff09; 2. 配置HTTP Request取样器参数 3. 添加断言 4. 运行接口测试 三、结合f…

Linux 企业级安全原理和防范技巧

Linux 企业级安全原理和防范技巧 1. 企业级Linux系统防护概述1.1 企业级Linux系统安全威胁1.2 企业级Linux系统安全立体式防范体系1.2.1 Linux文件系统访问安全1.2.2 Linux进程安全1. 进程的种类2. 进程管理方法 1.2.3 Linux用户管理安全1. 管理用户及组文件安全2. 用户密码管理…

【云计算】云存储是什么意思?与本地存储有什么区别?

云计算环境下&#xff0c;衍生了云存储、云安全、云资源、云管理、云支出等等概念。今天我们就来了解下什么是云存储&#xff1f;云存储与本地存储有什么区别&#xff1f; 云存储是什么意思&#xff1f; 云存储是一种新型的数据管理方式&#xff0c;它通过网络将大量不同类型、…

UGUI进阶知识[二十九]循环GridView

节省内存的常用滑动列表还有一种形式&#xff0c;上下滑动的GridView。这种格式的滑动列表可用于移动设备的背包&#xff0c;仓库&#xff0c;商店UI等数据可能海量从而导致产生特别多但又看不见的UI的情况。 于是基于 UGUI进阶知识[八]循环利用滑动列表的循环ListView工程做了…

普源1G带宽4通道10G采样率数字示波器MSO8104

超高性价比七合一 集成示波器在如今的集成设计领域&#xff0c;一款集成度较高的综合示波器已经成为设计工程师必不可少的得力工具。 MSO8000 系列数字示波器&#xff0c;它集 7 种独立仪器于一体&#xff0c;包括一台示波器、一台 16 通道逻辑分析仪、一台频谱分析仪、一台任…

煤矿电子封条建设实施方案算法 yolov7

煤矿电子封条建设实施方案算法通过yolov7网络模型深度学习技术&#xff0c;煤矿电子封条建设实施方案算法作为一种智能化安全新模式被广泛应用于各类场景中。YOLOv7 的发展方向与当前主流的实时目标检测器不同&#xff0c;研究团队希望它能够同时支持移动 GPU 和从边缘到云端的…

高完整性系统:Separation Logic for Automated Verification

目录 1. INTRODUCTION TO SEPARATION LOGIC 分离逻辑 1.1 霍尔推理&#xff08;Hoare Reasoning&#xff09; 1.2 堆指针的影响 1.3 全局和局部推理&#xff08;Global and Local Reasoning&#xff09; 1.4 组合推理&#xff08;Compositional Reasoning&#xff09; 1.…

chatgpt赋能python:Python中怎样输入数据以及数据类型

Python中怎样输入数据以及数据类型 Python是一种高级编程语言&#xff0c;常用于数据处理和分析、机器学习和Web开发等任务。输入数据是Python编程中的重要环节&#xff0c;因此本文将介绍Python中输入数据的方法和数据类型。 什么是数据输入&#xff1f; 数据输入是指将数据…

国内主流AI大模型盘点

今年年初&#xff0c;轰动科技圈的大事就是ChatGPT的面世&#xff0c;它的到来打响了AI智能时代的第一枪&#xff0c;同时展开了一场别开生面的智能科技革命。 随着ChatGPT迅速走红,国内各大企业纷纷发力认知大模型领域。经过一段时间的酝酿&#xff0c;国内的AI领域也开启了“…

StableStudio,比Midjourney还牛逼的绘画平台,免费!

大家好&#xff0c;我是鸟哥。 之前给大家推荐过Midjourney和Bluewillow两个AI绘画平台&#xff1a;简直了&#xff01;比Midjourney更刺激&#xff0c;还免费&#xff01;Midjourney功能超级强大&#xff0c;但比较傲娇&#xff0c;很贵&#xff0c;是否让用户免费体验要看心…

数据可视化系列指南之地图类图表大全

导语 随着数据在各行业中的应用越来越广泛&#xff0c;大家也逐渐认识到数据可视化在企业生产经营中的重要作用&#xff0c;在数据可视化过程中&#xff0c;图表是处理数据的重要组成部分&#xff0c;因为它们是一种将大量数据压缩为易于理解的格式的方法。数据可视化可以让受…

jar包和war包的区别;项目打包成jar或者war且运行在Linux上的tomcat

jar包和war包的区别&#xff1a; war包&#xff1a;通常是web应用后&#xff0c;例如网站&#xff0c;打成包部署到容器(可以是tomcat)中。含有包括WEB-INF包。war包通常就是放在tomcat包的/webapps下然后自动编译和运行。 jar包&#xff1a;通常是开发时要引用的类&#xff…

怎样使用Fiddler进行移动端抓包?附视频教程包你学会

目录 前言 抓包 什么是抓包 哪些场景下需要抓包 Fiddler Fiddler抓包原理 安装 Fiddler移动端抓包 第一步&#xff1a;允许远程计算机连接 第二步&#xff0c;设置手机网络代理 第三步&#xff0c;允许捕获HTTPS连接 第四步&#xff0c;手机安装证书 前言 本篇文章…

chatgpt赋能python:Python中如何提取字段中的数字

Python中如何提取字段中的数字 在数据分析和处理中&#xff0c;经常需要提取文本中的数字数据。在Python中&#xff0c;有多种方法可以实现这一操作。本篇文章将介绍Python中提取字段中的数字的方法&#xff0c;并给出示例代码。 使用正则表达式 正则表达式是Python中处理文…

二十、C++11(上)

文章目录 一、前言二、C11诞生简介三、列表初始化&#xff08;一&#xff09;{}初始化&#xff08;二&#xff09;initializer_list容器1. initializer_list 概念2. initializer_list的使用场景3. initializer_list接口函数模拟实现 四、关键字&#xff08;一&#xff09;auto&…

duilib中使用mfc控件

我在界面相隔挺远的位置添加2个mfc控件&#xff0c; 需要添加&#xff1a; 1. 添加 CMfcWndUI 类&#xff0c;这是为了调用mfc控件用的 2. 添加 duilib界面 CDuiFrameWnd 3.重写 2中界面的virtual CControlUI* CreateControl(LPCTSTR pstrClassName); 函数 需要注意的地方…

xray工具—代理扫描、爬虫扫描、Burp联动

xray工具—代理扫描、爬虫扫描、Burp联动 1. Xray介绍1.1. 支持漏洞检测类型1.2. 官网地址 2. 常用扫描模式2.1. 生成证书2.1.1. 浏览器安装证书 2.2. Xray基础主动扫描2.2.1. 基础主动扫描命令2.2.2. 基础主动扫描结果 2.3. Xray代理模式扫描2.3.1. 代理模式配置代理2.3.2. 代…