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

记录 vue3 webpack 使用 iframe 遇到的坑

需求

我尝试用Vue3写一个自己的主页,把常用的功能集中到主页中,如下图在这里插入图片描述
后发现一个好玩的东西,js实现的在网页底部出现鱼和波浪,如下图,就像想也放到自己的主页中,搜索后发现可以在Vue中用iframe标签直接引入,遂开始尝试。获取链接如下,有需要可以尝试 https://www.bilibili.com/video/BV1JX4y1g7Sn在这里插入图片描述

坑1

将要引入的html直接像普通组件一样放置
在这里插入图片描述
运行后发现网页变得非常卡顿,元素周围还有不断加深的阴影,如下图在这里插入图片描述
一开始因为是其中的某些js等的原因,注释掉后还是如此。多次调试后,将iframe的width和height改为非100%

<iframe width="80%" height="80%" id="WaveAndFish" name="WaveAndFish" src="./components/WaveAndFish/waveAndFish.html" frameborder="no"></iframe>

后发现变为如下在这里插入图片描述
可见,元素周围不断有阴影加深的原因是页面在不断套娃,之前iframe 的width和height都是100%,导致套娃后都重叠在一起,css中的阴影页不断重叠,同时也使页面变得几乎卡死。看来是iframe的目标html引入不成功,导致一直在引用自身

坑2

不断百度后发现并不能像普通组件一样引入,需要放在静态资源文件夹下
在这里插入图片描述
(上图还没尝试将index.html改名,如果有多个本地html需要引入,建议改名,而不是index.html,防止冲突)
结果在使用Vite运行后成功展现在这里插入图片描述
但使用webpack运行后还是不行。(我的主页本来是使用Vite的,但Vite打包后无法在本地直接打开,需要额外的其他操作,而页面中是没有涉及到接口或其他网络请求,因此不想挂到服务器上,所以改为用webpack)

后发现vue-cli 不同版本下 static文件夹要放置的地方是不同的,遂将static文件夹放到public下在这里插入图片描述
结果还是没用

最终

最后发现引入 iframe 中 src 引用的路径需要是打包后的目标html的路径,npm run build打包后的文件结构如下
在这里插入图片描述
改为打包后的引用路径
在这里插入图片描述
终于成功!
在这里插入图片描述

http://www.lryc.cn/news/91179.html

相关文章:

  • 华为OD机试真题 Java 实现【去除多余空格】【2023Q1 100分】
  • SAP-MM 条件类型字段解析
  • C#,码海拾贝(28)——求解“对称正定方程组”的“平方根法”之C#源代码
  • 碳纤维单丝外径测试中的纳米分辨率激光衍射法解决方案
  • 服务(第三十二篇)nginx做缓存服务器
  • Java 集合、数组、字符串的相互转换(关于list.toArray(new String[0])的源码分析)
  • Redis的全局命令及相关误区
  • C++核心编程—类和对象,类的三大特性——封装、继承、多态
  • keep-alive 是 Vue 内置的一个组件,被用来缓存组件实例。
  • (八)Spring之IOC控制反转、DI依赖注入介绍和使用(详解)
  • 凸缺陷 convexityDefects
  • c语言编程练习题:7-43 Shuffling Machine
  • ffmpeg enum AVChannel枚举解析
  • invest模型教程
  • LinuxShell编程
  • stm32学习笔记-11 SPI通信
  • “微商城”项目(3页面布局)
  • Java 八股文 - MySQL
  • 周赛347(模拟、思维题、动态规划+优化)
  • String AOP的使用
  • 华为芯片基地旁,龙华科技小镇大水坑片区城市更新单元旧改项目
  • 论文阅读 | 频谱监测、认知电子战、网电攻击
  • MySQL server安装记录
  • 平衡树原理讲解
  • SpringMVC框架面试专题(初级-中级)-第七节
  • 爬虫实战案例
  • ConcurrentLinkedQueue非阻塞无界链表队列
  • 排序算法稳定性
  • 统计学期末复习整理
  • Sketch在线版免费使用,Windows也能用的Sketch!