【vue嵌套iframe】实现项目重构

vue嵌套iframe

  • 创建 iframe 通用组件
  • 添加页面及路由
  • 进阶:vue 与 iframe 的双向通讯
  • 代码下载

适用于使用vue重构及vue访问其他服务页面
基于vue3示例页面添加嵌套iframe的页面

创建 iframe 通用组件

IframeTemplate.vue

  1. 页面布局
        <template><div class="iframe-container"></div></template><style scoped>.iframe-container {width: 50%;height: calc(100vh - 124px);}</style>```
    
  2. iframe标签创建
        /**iframe 标签创建 */function createIframe() {try {const { meta: { isIframe }, path, query } = routeif (!isIframe) return;// 地址拼接、带参query等const baseUrl = getBaseUrl() + path + (isIframe ? ".html" : "")let commonIframe = $("#common-iframe")if (commonIframe.length) {commonIframe.attr("src", baseUrl)} else {commonIframe = $('<iframe class="iframe-content" id="common-iframe" width="100%" height="100%" style="overflow:hidden;border:0 none; outline:0"></iframe>')$(".iframe-container").prepend(commonIframe)commonIframe.ready(() => {commonIframe.attr("src", baseUrl)})}} catch (err) {console.log(err)}}/** 根据环境区分iframe页面地址前缀 * server & base 可以根据环境 配置不同的值* 1.webpack添加区分环境的配置* 2.在对应的 .env文件中配置变量*/function getBaseUrl() {const { VUE_WEB_IFRAME_SERVER: server, VUE_WEB_BASEURL: base } = process.env/** 示例: 使用apache代理静态页面(http://localhost:8080/iframe-pages/update.html)* 此处的server=http://localhost:8080,base="",route="/iframe-pages/update"*/return server + base}```
    
  3. 监听路由,实现iframe地址更新,访问不同页面
      /* 监听路由变更 - iframe 页面地址更新 */watch(route, () => {createIframe()});onMounted(() => {createIframe()});
    

添加页面及路由

  1. 添加路由
         // router/index.js// iframe页面独立访问地址: http://localhost:8080/iframe-pages/update.html/** 添加iframe 页面路由 */const iframePages = [{path: '/iframe-pages/base',name: "base"},{path: '/iframe-pages/includes',name: "includes"},{path: '/iframe-pages/update',name: "update"}]let iframeRoute = []iframePages.map(item => {const { path, name } = itemiframeRoute.push({path,name,meta: { isIframe: true },component: () => import('../views/IframePage.vue')})})const router = createRouter({// 其他...routes: [// 其他......iframeRoute]})```
    
  2. iframe 通用页面
        <!-- IframePage.vue --><template><IframeTemplate></IframeTemplate></template><script setup>import IframeTemplate from "@components/IframeTemplate.vue";</script><style scoped lang="scss"></style>```
    
  3. iframe 页面快捷菜单
       <!-- App.vue --> <RouterLink to="/iframe-pages/base">Base</RouterLink><RouterLink to="/iframe-pages/includes">Includes</RouterLink><RouterLink to="/iframe-pages/update">Update</RouterLink>```

此时页面就可以根据路由访问嵌套的页面了.

进阶:vue 与 iframe 的双向通讯

实现vue 与 iframe 的双向通讯

代码下载

查看代码地址

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

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

相关文章

9.2 Go语言入门(包和导入)

Go语言入门&#xff08;包和导入&#xff09; 目录一、包和导入1. 包&#xff08;Package&#xff09;1.1 包的定义1.2 包的作用1.3 main 包1.4 非 main 包 2. 导入&#xff08;Import&#xff09;2.1 导入标准库2.2 导入第三方包2.3 导入本地包2.4 导入别名2.5 导入并调用初始…

mysql授权用户

mysql授权用户只能看到某张表单表 要实现MySQL中的用户只能看到某张表&#xff0c;可以通过创建一个新的数据库用户&#xff0c;并且只授予该用户对特定表的权限。以下是实现这一功能的步骤和示例代码&#xff1a; 创建新用户并设置密码。 授予该用户对特定数据库的权限。 授…

国内最受欢迎的7大API供应平台对比和介绍||电商API数据采集接口简要说明

本文将介绍7款API供应平台&#xff1a;聚合数据、百度APIStore、Apix、数说聚合、通联数据、HaoService、datasift 。排名不分先后&#xff01; 免费实用的API接口 第一部分 1、聚合数据&#xff08;API数据接口_开发者数据定制&#xff09; 2、百度API Store(API集市_APIStore…

数据库系统原理实验报告6 | 视图

整理自博主本科《数据库系统原理》专业课自己完成的实验报告&#xff0c;以便各位学习数据库系统概论的小伙伴们参考、学习。 专业课本&#xff1a; ​ ———— 本次实验使用到的图形化工具&#xff1a;Heidisql ​ 目录 一、实验目的 二、实验内容 1&#xff0e;根据EDUC数…

妙解设计模式之适配器模式

适配器模式的概念 适配器模式是一种结构设计模式&#xff0c;它允许将接口不兼容的类通过一个适配器类进行适配&#xff0c;使得这些类可以一起工作。适配器模式通常用于以下情况&#xff1a; 当一个接口的实现类已经存在&#xff0c;但是另一个接口需要的是不兼容的时候。当…

揭秘C++ String容器:字符串操作的艺术

目录 ​编辑 引言 一、初识std::string&#xff1a;构造与初始化 二、字符串的操纵艺术&#xff1a;拼接、查找与替换 三、访问与遍历&#xff1a;字符的细腻触感 四、大小与容量&#xff1a;动态调整的智慧 五、进阶功能&#xff1a;探索更多可能 结语 引言 在C标准库…

ssms执行建表后如何自动刷新所有SQL SERVER表

在 SQL Server Management Studio (SSMS) 中&#xff0c;当你通过 T-SQL 脚本创建表后&#xff0c;通常需要手动刷新对象资源管理器以查看新表。SSMS 并没有提供自动刷新的选项&#xff0c;但你可以使用以下几种方法来解决这个问题&#xff1a; 手动刷新&#xff1a;在对象资源…

网络工程师基础知识:

网络工程师基础知识&#xff1a; 1.最基本的7层协议&#xff1a; 来源&#xff1a; 通过网络网线和报文的这些机制让全世界的数据通过二进制流来进行沟通 从下而上&#xff1a; 物理层 数据链路层 网络层 传输层 表示层 会话层 应用层 基本的一个数据报文&#xff1a; 数据链…

Java 8

这次我学习了第八次Java课程 这次课在假期&#xff0c;包含了两天的一大波内容 对于编写项目过程中有许多的 辅助类 System System.out.println() 打印 Scanner Scanner sc new Scanner(System.in) 赋值 Random 随机数 Math 数学运算 日期 要想使用日期方法就要引入包Date 1…

人工智能为犯罪地下世界带来了巨大的生产力提升

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

Java 18 新特性详解

Java 18 新特性详解 Java 18 作为 Oracle 推出的又一重要版本&#xff0c;继续秉持着 Java 平台“创新但不破坏”的原则&#xff0c;带来了多项旨在提升开发效率、性能和安全性的新特性。本篇文章将深入解析 Java 18 引入的主要特性&#xff0c;并探讨它们如何影响开发者的工作…

详解 Scala 的集合类型

一、集合简介 1. 类型 序列 Seq&#xff1a;类似于 Java 中的 List 接口集 Set&#xff1a;类似于 Java 中的 Set 接口映射 Map&#xff1a;类似于 Java 中的 Map 接口所有的集合都扩展自 Iterable 特质 2. 不可变集合 位于 scala.collection.immutable 包&#xff0c;指该集…

Runtime,你学会了吗?

作为Java开发者,我们经常听到关于Runtime类的提及,但很少有人深入了解它的作用和用法。 Runtime类是Java标准库中的一个关键类,提供了与运行时环境交互的方法。 本文将深入探讨Runtime类的背景、用途、常用方法以及最佳实践,帮助程序员们更好地利用这一重要工具。 1. 背…

ISSCC论文详解 2023 16.1 MulTCIM 存内计算在多模态领域的应用前沿论文

多模态模型&#xff0c;是指具备理解来自不同模态&#xff08;如视觉、自然语言、语音等&#xff09;的混合信号能力的神经网络模型&#xff0c;是当今人工智能模型发展的重要方向之一。本文将要介绍的文献题目为《16.1 MulTCIM: A 28nm 2.24μJ/Token Attention-Token-Bit Hyb…

一些常见的程序设计问题

秒杀 redis缓存库存 1.判断库存名额是否充足&#xff0c;2.进行扣减 为了防止超卖&#xff0c;必须保证这两部的原子性 库存扣减后发送mq消息&#xff0c;去异步执行创建订单流程&#xff0c;创建订单失败会造成少卖。可加重试机制&#xff0c;对多次重试依旧失败的&#xff…

刷题记录第九十九天-与排序相关的题-第K大的数和逆序对的数量

求第K大的数—利用快速排序的思想 class Solution { public:int partition(vector<int>& num, int l, int r){swap(num[l],num[lrand()%(r-l1)]);int x num[l];int il1, jr;while(i<j){while(i<r&&num[i]<x){i;}while(num[j]>x){j--;}if(i>…

SpringBoot自动化配置原理

Spring Boot 的自动化配置原理基于 EnableAutoConfiguration 注解及其相关机制。以下是其工作原理的详细说明&#xff1a; Spring Boot 自动化配置原理 主要概念和机制&#xff1a; EnableAutoConfiguration 注解&#xff1a; 这个注解告诉 Spring Boot 启动时去自动配置 Spr…

【java程序设计期末复习】chapter7 内部类和异常类

内部类和异常类 内部类 ava支持在一个类中声明另一个类&#xff0c;这样的类称作内部类&#xff0c;而包含内部类的类成为内部类的外嵌类。 注意 &#xff08;1&#xff09;内部类的类体中不可以声明类变量和类方法。 &#xff08;2&#xff09;外嵌类的类体中可以用内部类…

[论文阅读笔记31]Mamba (Selective Structured State Space Model) 及其应用

最近想学一下Mamba模型&#xff0c;奈何看了很多视频还是感觉一知半解&#xff0c;因此做一篇笔记&#xff0c;顺便介绍一下Mamba结构作为CV backbone和时间序列预测领域的应用。 论文1. Mamba: Linear-Time Sequence Modeling with Selective State Spaces 0. Abstract 现有…

VLAN高级特性

1.VLAN聚合 &#xff08;1&#xff09;VLAN聚合产生的技术背景 &#xff08;2&#xff09;VLAN聚合概述 &#xff08;3&#xff09;VLAN聚合的原理 多个Sub-VLAN共享一个网关地址&#xff0c;节约了子网网络地址、子网定向广播地址、子网缺省网关地址&#xff0c;且各Sub-VLAN…