前端 | iframe框架标签应用

文章目录

  • 📚嵌入方式
  • 📚图表加载显示
  • 📚100%嵌入及滑动条问题
  • 📚加载动画保留

前情提要

  • 计划用iframe把画好的home1.html(echarts各种图表组成的html数据大屏)嵌入整合到index.html(搭的可视化作业框架)里。
  • 再具体一点说,就是把home1.html用iframe框架标签放到到li.home1里。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

📚嵌入方式

  • 直接用iframe标签
    <li class="home1"><iframe src="home1.html"></iframe>
    </li>
    

📚图表加载显示

在嵌入时出现了图表不显示的问题,解决方法:

  • 将绘图js里涉及到的myChart.setOption(option);全部改为:
    if (option && typeof option === 'object') {myChart.setOption(option);
    }
    window.addEventListener('resize', myChart.resize);
    
  • 以上代码设置 ECharts 图表的选项和监听浏览器窗口大小变化时自动调整图表大小
    • ​option && typeof option === 'object'​,这个条件的作用是判断 ​option​ 是否存在且是一个对象类型。
      • 如果条件成立,说明 ​option​ 是一个有效的选项对象,那么接下来的操作才会执行。
      • 这个条件的目的是确保不会在 ​option​ 不存在或者不是对象类型时,运行 ​myChart.setOption(option)​ 报错。
    • 通过 ​window.addEventListener('resize', myChart.resize)​ 给浏览器窗口的 ​resize​ 事件添加了一个监听器,当窗口大小发生变化时,会自动调用 ​myChart.resize​ 方法,即重新调整图表的大小,使其适应新的窗口尺寸。

📚100%嵌入及滑动条问题

  • 给iframe设置样式:<iframe src="home1.html" style="width: 100%; height: 100%;"></iframe>
  • 出现了不想要的滑动条
    在这里插入图片描述
    • 我这里的解决办法是把home1.html原页面的height改小一点点。
    • height: 100vh;改为height: 96vh;,嵌入后滑动条消失。
      在这里插入图片描述

📚加载动画保留

  • 本来图表加载,是会有初始动画的(柱形图生成,折线图生成等等),但是现在iframe嵌入直接一步到位了(而重新加载框架时又会出现动画)。
    在这里插入图片描述

  • 考虑以下方法保留初始加载动画。

    • 给iframe标记id,<iframe id="myIframe" src="home1.html" style="width: 100%; height: 100%;"></iframe>
    • 在js的window.onload = function ()里添加:
      var iframe = document.getElementById('myIframe');
      iframe.contentWindow.location.reload();
      
      • 通过 ​iframe.contentWindow​ 获取到了 ​<iframe>​ 的窗口对象。这个窗口对象提供了对嵌入的文档的访问和操作。
      • 调用 ​location.reload()​ 方法,重新加载 ​<iframe>​ 中的页面。这个方法会导致 iframe 内部文档的全部重新加载。

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

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

相关文章

API接口测试工具的主要作用及选择指南

API接口测试是现代软件开发中至关重要的一环。为了确保不同组件之间的无缝集成和功能正常运作&#xff0c;API接口测试工具应运而生。本文将介绍API接口测试工具的主要作用&#xff0c;以及在选择适合项目的工具时需要考虑的因素。 1、功能测试&#xff1a;API接口测试工具的首…

多线程访问资源计数不正确问题分析

线程1&#xff1a;首先修改状态为-1&#xff0c;然后分配资源&#xff0c;资源分配成功后&#xff0c;修改状态为0 线程2&#xff1a;查询状态为-1&#xff0c;然后分配资源&#xff0c;资源分配成功后&#xff0c;修改状态为0 存在这种情况&#xff0c;在线程1修改状态为-1时&…

云服务器哪家便宜?亚马逊AWS等免费云服务器推荐

在这数字化的时代&#xff0c;云计算技术越来越广泛应用于各种场景&#xff0c;尤其是云服务器&#xff0c;作为一种全新的服务器架构正在逐渐取代传统的物理服务器&#xff0c;“云服务器哪家便宜”等用户相关问题也受到越来越多的关注。自从亚马逊最早推出了首个云计算服务—…

RF Power Generator射频源维修射频匹配器维修

RF MATCH射频匹配器维修范围有ADVANCED射频电源匹配器&#xff1b;ASTEX射频电源匹配器&#xff1b;NP射频电源匹配器&#xff1b;ASTECH射频电源匹配器&#xff1b;SEREN射频电源匹配器&#xff1b;射频电源匹配器&#xff1b;KYOSAN射频电源匹配器&#xff1b;ENI射频电源匹配…

5.3 Windows驱动开发:内核取应用层模块基址

在上一篇文章《内核取ntoskrnl模块基地址》中我们通过调用内核API函数获取到了内核进程ntoskrnl.exe的基址&#xff0c;当在某些场景中&#xff0c;我们不仅需要得到内核的基地址&#xff0c;也需要得到特定进程内某个模块的基地址&#xff0c;显然上篇文章中的方法是做不到的&…

【Java Spring】SpringBoot常用插件

文章目录 1、Lombok1.1 IDEA社区版安装Lombok1.2 IDEA专业版安装Lombok1.3 Lombok的基本使用 2、EditStarters2.1 IDEA安装EditStarters2.2 EditStarters基本使用方法 1、Lombok 是简化Java开发的一个必要工具&#xff0c;lombok的原理是编译过程中将lombok的注解给去掉并翻译…

基于SpringBoot的公益慈善平台

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 基于SpringBoot的公益…

sqli-labs靶场详解(less29-less31)

less-29 提示有最好的防火墙 小白原因 这种题型没见过 先自己测试一下 ?id1 to use near 1 预计可以使用报错注入 和单引号有关的注入点 ?id1 and 11 成功 ?id1 and 12 失败 确实是单引号字符型注入点 ?id1;%00 id1%27;%00 获取到了%00空字符&#xff08;原因就是服务器获取…

手把手教你:基于python+Django的英文数据分析与可视化系统

系列文章 手把手教你&#xff1a;基于Django的新闻文本分类可视化系统&#xff08;文本分类由bert实现&#xff09;手把手教你&#xff1a;基于python的文本分类&#xff08;sklearn-决策树和随机森林实现&#xff09;手把手教你&#xff1a;基于TensorFlow的语音识别系统 目录…

LeetCode-面试题08.01 三步问题 C/C++实现 超详细思路及过程[E]

&#x1f388;归属专栏&#xff1a;深夜咖啡配算法 &#x1f697;个人主页&#xff1a;Jammingpro &#x1f41f;记录一句&#xff1a;摆了一个周末了&#xff0c;不能摆了&#xff0c;努力起来&#xff01;&#xff01; 文章目录 LeetCode-面试题08.01 三步问题&#x1f697;题…

大语言模型(LLMs)在 Amazon SageMaker 上的动手实践(一)

本期文章&#xff0c;我们将通过三个动手实验从浅到深地解读和演示大语言模型&#xff08;LLMs&#xff09;&#xff0c;如何结合 Amazon SageMaker 的模型部署、模型编译优化、模型分布式训练等。 实验一&#xff1a;使用 Amazon SageMaker 构建基于开源 GPT-J 模型的对话机器…

Vue3的项目创建到启动

Vue3的项目创建 检查node版本创建 npm init vuelatest 安装依赖 项目启动 启动成功