iframe 标签

news2025/1/12 5:59:56

一. 什么是 iframe 

        1. iframe 是 HTML元素,用于在网页中内嵌另外一个网页.

        2. iframe 默认有一个宽高,存在边界.

        3. iframe 是一个行内块级元素,可以通过 display 修改.

二. iframe 元素属性

        1. src : 指定内联网页的地址

        2. frameborder : iframe 默认有个边界,可以设置frameborder 为 0 清除边界.

        3. width , height : 控制 iframe 的宽高.

        4. name : 框架的名称.

        5. srcolling : 是否可以滚动, yes,no,auto

 

三. iframe 相互操作

        1. 首先明确一点,每个 iframe 里各自维护自己的全局window对象.

        2. 另外,只有同域才能进行 iframe 之间的读写改,跨域时,只能进行简单的路由跳转.

        3, 在父级使用window.frames[name]可以获得子级 iframe 的window对象,相应的可以获取 document 对象,从而对子级 iframe 进行 dom操作.

        4. 在子级 iframe 想要操作父元素的 iframe ,直接使用子元素的window.parent来获取父级元素的window对象,从而获取document来操作dom.

四. iframe 之间的通信

        1. 发送信息

        当我们要向指定 iframe 发送信息时,首先要获取该 iframe 自己的window对象,让后使用该window对象的postMessage发送消息.

        2. 接受信息

        在要接收信息的地方,我们使用window的onmessage事件来接收信息,改事件会返回一个事件对象,其中data包含了返回的数据,orgin返回发送源.

        3. 安全问题

        当我们明确知道orgin是谁时,不要使用 ' * ' ,当要接收信息时,先判断orgin是否是我们要接收的源,在做后续操作.

五. 优点/缺点

        优点 : 

        解决加载缓慢的第三方内容如: 图标和广告的加载问题.

        能并行加载脚本.

        方便管理,指的是如果有多个页面需要用到 iframe 的内容,那么只要修改 iframe 的内容就可以          实现统一管理.

        iframe 可以原封不动的把嵌入的网页显示出来.

        缺点 :

        会产生很多的页面,不容易管理.

        会增加服务器的http请求,对大型网址不可取.

        会阻塞父页面的load事件.

        iframe 和 主页面共享连接池,而浏览器对相同域的连接有限时,所以会影响页面的并行加载,也          就是说子文档和父文档的请求数会计算在一起.

        不利于搜索引擎优化,也就是不利于SEO.

        解决办法: 如果需要使用 iframe ,最好是通过JavaScript动态给 iframe 添加src属性,这样就可以绕开以上两个问题.

六. 注意事项

        1. 获取子元素的document时要确保子元素所有的dom元素已经挂载完毕,因此在原生的写法时,必须写在window的onLoad事件中.

实例:

我的这个项目中只有一个地方使用了 iframe,简单介绍一下

 点击左侧的 展厅大屏 之后显示的效果

 对于这种需求我们需要配置好 展示大屏 页面的路由地址

 完整代码: 

<template>
<!-- iframe(HTML标签,用于在网页中嵌套另外一个网页) -->
  <iframe
    src="/bigscreen/index"
    frameborder="0"
    width="3385"
    height="1372"
    scrolling="no"
    :style="'transform-origin: 0px 0px;transform: scaleX(' + scaleX + ') scaleY(' + scaleY + ');'"
  ></iframe>
</template>

<script>
export default {
  name: 'IframeBigScreenView',
  data() {
    return {
      scaleX: document.body.clientWidth / 3385,
      scaleY: document.body.clientHeight / 1372,
    }
  },
  mounted() {
    window.onresize = () => {
      return (() => {
        this.scaleX = document.body.clientWidth / 3385
        this.scaleY = document.body.clientHeight / 1372
      })()
    }
    document.title = '智慧党建城市运行中心'
    document.body.style = 'overflow:hidden;background: #050a2a;'
  },
  destroyed() {
    // 离开页面生命周期函数
    document.body.style = ''
  },
  created() {
    window.handleJumpTo = function (url) {
      // this.$router.push('/8a50e37f0d4e29b90280df77adf1f387')
      window.location.href = url
    }
  },
  methods: {},
}
</script>

<style>
</style>

        

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

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

相关文章

深入剖析Linux RCU原理(一)初窥门径

说明&#xff1a; Kernel版本&#xff1a;4.14ARM64处理器&#xff0c;Contex-A53&#xff0c;双核使用工具&#xff1a;Source Insight 3.5&#xff0c; Visio 1. 概述 RCU, Read-Copy-Update&#xff0c;是Linux内核中的一种同步机制。RCU常被描述为读写锁的替代品&#xf…

Openssl 1024bit RSA算法---公私钥获取和处理(一)

1.简介 使用OpenSSL生成公私钥文件&#xff0c;然后再将文件中的信息读出的操作。 由于要对设备升级&#xff0c;需要用到RSA算法对一部分验证信息进行加密. 2.使用OpenSSL获取公私钥 我在window系统尝试安装OpenSSL&#xff0c;但是安装不上&#xff0c;我们可以使用linux…

模式识别 第7、8章 特征的选择和提取

基本概念 问题的提出 特征→ 特征空间&#xff1a; 每一个特征对应特征空间的一个维度 &#xff1b;特征越多&#xff0c;特征空间的维度越高原则&#xff1a;在保证分类效果的前提下用尽量少的特征来完成分类基本概念 &#xff08;1&#xff09;特征形成&#xff1a;由仪器…

如何去除图片雾化?给你推荐图片去雾怎么去除的方法

小伙伴们会不会和我一样喜欢外出爬山呢&#xff1f;为了留住美好记忆&#xff0c;我们会在途中拍照记录。但是山上很经常会有雾气&#xff0c;会容易导致我们拍出来的图片模糊不清。那应该怎么办呢&#xff1f;其实&#xff0c;我们只要对图片进行去雾处理就可以很好解决这个问…

[附源码]Nodejs计算机毕业设计基于的校园疫情防控管理Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置&#xff1a; Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分…

Web(十一)JavaScript知识训练-数学对象

1、Math.ceil(-3.14)的结果是&#xff08; B&#xff09;。 A、 -3.14 B、 -3 C、 -4 D、 3.14 2、Math.floor(-3.14)的结果是&#xff08; C&#xff09;。 A、 -3.14 B、 -3 C、 -4 D、 3.14 3、Math.round(-3.14)的结果是&#xff08; B&#xff09;。 A、 -3.14 B、 -3 C…

Spring Cloud Openfeign微服务接口调用与Hystrix集成实战

关于openfeign 可以认为OpenFeign是Feign的增强版&#xff0c;不同的是OpenFeign支持Spring MVC注解。OpenFeign和Feign底层都内置了Ribbon负载均衡组件&#xff0c;在导入OpenFeign依赖后无需专门导入Ribbon依赖&#xff0c;用做客户端负载均衡&#xff0c;去调用注册中心服务…

dataFactory向mysql批量插入测试数据

目录 第一步&#xff1a;准备阶段&#xff1a;datafactory已连接app_user的表 第二步&#xff1a; 点击原表app_user,其中属性界面properties中配置含义如下&#xff1a; 第三步&#xff1a;根据需要设置插入字段 第四步&#xff1a;设置每个字段的规则后&#xff0c;点击se…

病毒之Worm.Win32.AutoRun

题外话&#xff1a;在被奥密克戎包围的我(两个室友和我&#xff0c;一个低烧、一个咳嗽、就差我了&#xff0c;这属实是真被包围了丫)在和Worm.Win32.AutoRun决一死战… 本次Worm.Win32.AutoRun的来源&#xff1a; windows电脑上重装vscode&#xff0c;然后没有 mingw-get-setu…

浏览器兼容模式如何设置?只需要跟着下面的步骤设置

许多考生在报考教师资格证或者其他的考试报名&#xff0c;会遇到浏览器兼容设置的问题。与其到时急急忙忙来设置浏览器的兼容模式&#xff0c;不如提前设置好&#xff0c;免了后顾之忧。浏览器兼容模式怎么设置&#xff1f;一起来看看关于浏览器兼容模式的含义以及设置方式吧&a…

《Python代码审计》(1)一款超好用的代码扫描工具

1.前言 从本文开始&#xff0c;我将开始介绍Python源代码审计&#xff0c;代码审计是检查源代码中的安全缺陷&#xff0c;检查源代码是否存在安全隐患&#xff0c;或者编码不规范的地方。通常使用自动化工具或者人工审查的方式&#xff0c;自动化工具效率高&#xff0c;但是误…

【浅学Java】Linux系统中的硬连接和软连接

Linux系统中的软连接和硬连接1. 前置知识1.1 文件的存储1.2 inode——索引节点1.3 Linux系统查找文件的过程2. Linux系统中的硬连接2.1 硬连接的实现原理2.2 实现硬连接的指令3. Linux系统中的软连接3.1 软连接的实现原理3.2 实现硬连接的指令4. 软连接和硬连接的区别1. 前置知…

Java 19虚拟线程实战与性能分析

Java 19推出了新特性“虚拟线程”&#xff0c;类似于Go语言中的协程。它是传统线程的不同之处在于&#xff0c;它是一种用户模式&#xff08;user-mode&#xff09;的线程。 虚拟线程是由 JDK 而非操作系统提供的线程的轻量级实现&#xff1a; 虚拟线程是没有绑定到特定操作系…

mock.js的使用

初始化 //main.js中 import "/network/fake-message/index.js" //全局文件中引入虚假数据///network/fake-message/index.js //创建伪数据 import Mock from mockjs import { Random } from mockjs//获取商品列表 Mock.mock(/api\/goodlist/,get,{status:200,mess…

基于java+springmvc+mybatis+vue+mysql的高校课程评价系统

项目介绍 在还没有计算机的时代&#xff0c;对于教学评价的各方面的管理都是靠纸、笔为主要的工具进行的。随着科技的发展&#xff0c;大量信息增长&#xff0c;利用传统的方式已经无法快速、准确的跟随学校各项目的管理工作了。当人们意识到对于大量信息管理的重要性的时候&a…

第二十二章 染色法与匈牙利算法

第二十二章 染色法与匈牙利算法一、使用场景——二分图二、染色法1、算法原理2、代码模板&#xff08;1&#xff09;问题&#xff1a;&#xff08;2&#xff09;代码&#xff1a;&#xff08;3&#xff09;分析&#xff1a;三、匈牙利算法1、算法用途2、算法思路3、算法模板&am…

五个月学完软件测试,现在分享以前自学的测试笔记

以前学习手抄的linux命令哈哈哈 定义 在规定的条件下对程序进行操作&#xff0c;以发现程序错误&#xff0c;衡量软件质量&#xff0c;并对其是否能满足设计要求进行评估的过程。 测试就是发现错误而执行程序的过程。 原则 保证测试的覆盖度&#xff0c;但是穷举测试是不可能…

LVI-SAM坐标系外参分析与代码修改,以适配各种数据集

文章目录0.前言1.原作者传感器件坐标系定义与外参修改1.1.博客作者的讲解&#xff08;仅供参考&#xff09;1.2.LIO-SAM的README中作者对其传感器配置的解释1.3.IMU坐标系详解1.4.params_lidar.yaml中LIO外参修改1.4.1.作者给的参数注释问题1.4.2.自己修改代码2.LVI-SAM中的坐标…

Redis常见面试题(一)

目录 1、Redis是什么? 2、Redis有哪些应用场景? 3、Redis有什么优势? 4、Redis为什么这么快? 5、Redis主要消耗什么物理资源? 6、Redis为什么把所有数据放到内存中? 7、Redis命令是原子性的吗? 8、Redis磁盘快照操作是原子的吗? 9、Redis怎么测试连通性? 10、…

【图像去噪】均值+中值+空间+高斯滤波图像去噪【含GUI Matlab源码 763期】

⛄一、图像去噪及滤波简介 1 图像去噪 1.1 图像噪声定义 噪声是干扰图像视觉效果的重要因素&#xff0c;图像去噪是指减少图像中噪声的过程。噪声分类有三种&#xff1a;加性噪声&#xff0c;乘性噪声和量化噪声。我们用f(x,y&#xff09;表示图像&#xff0c;g(x,y&#xff0…