本篇还玩“障眼法”,一文解读HTML内联框架Iframes。

写在开篇

假设有一个需求,想要在网页内显示其它网页,怎么搞?很简单,可以用iframe来解决,那啥是iframe?本篇的主题就是它,接下来我们一一解剖它的用法。

嵌入第三方url页面

我们先来两个测试场景,对比一下,啥场景呢?就是可被嵌入的页面和不可被嵌入的页面。

下面这2个页面是不可被嵌入的

  • 嵌入python的官网主页

        彩虹运维技术栈社区主页

效果如下图:

本篇还玩“障眼法”,一文解读HTML内联框架Iframes。
  • 嵌入百度主页

        彩虹运维技术栈社区主页

效果如下:

本篇还玩“障眼法”,一文解读HTML内联框架Iframes。

下面这2个https的页面是可被嵌入的

  • 嵌入zabbix官网的主页

    彩虹运维技术栈社区主页

效果如下图:

本篇还玩“障眼法”,一文解读HTML内联框架Iframes。
  • 嵌入prometheus官网主页

        彩虹运维技术栈社区主页

效果如下图:

本篇还玩“障眼法”,一文解读HTML内联框架Iframes。

好了,测试完上面的两个场景,现在就产生一个疑问了。为什么有的页面可以被嵌入?而有的页面不能被嵌入呢?答案就是:同源策略的限制所致,第三方的web服务器端并没有允许iframe的访问,这就是核心问题之所在。

关于同源策略、以及什么是跨域访问、cookie重写等等这些知识点,以后笔者都会抽时间慢慢给大家逐一剖析哈!咱们目前阶段的主题是放在html中,后续就是css、js,然后就是前端框架vue.js,甚至中途还会讲讲Go、Python方面的知识,Web框架等等。

嵌入本地的页面

小栗子,我们在home.html页面中嵌入本地test.html页面

  • home.html

        彩虹运维技术栈社区主页

  • test.html

        运维开发工程师,攻破前端技能。

        点击查看彩虹运维技术栈社区的微信公众号
        速度点击查看

            function dis_wechat_public_id() {
                document.getElementById("WeChatPublicID").innerHTML = "微信公众号ID:TtrOpsStack"
            }

效果如下图:

本篇还玩“障眼法”,一文解读HTML内联框架Iframes。

注意到了嘛?在home.html文件的代码中,iframe的src属性只需要指向本地的html文件路径即可,且在用style中还设置了CSS属性的高度和宽度哦!

玩个”障眼法”

什么是”障眼法”?这是笔者对下面小栗子的一个形容词罢了。


        彩虹运维技术栈社区主页

效果如下图:

本篇还玩“障眼法”,一文解读HTML内联框架Iframes。

看到上面的效果了嘛?真真假假,假假真真,不知道的还以为是真的直接访问了apache的官网呢,鬼知道中间还隔了一道中间商。为啥会出现这样的障眼法呢?原因就是style中的CSS属性border在搞鬼,它的值为none,也就是去掉边框的意思。再把宽度和高度调大,撑满整个页面,这个障眼法的效果就出来了。是不是很好玩呢?

写在最后

好了,本篇讲解的HTML iframe知识点就这么愉快的结束了。一个很小的知识点,虽不起眼,但它却是能让我们在未来可以学透更上层技能的基础。还是那句话,基础不牢,地动山摇呀!技能这东西,有时候不仅要向上学,还要向下学,甚至是上下结合的学习。把基础和原理知识打牢,当学习更上层技能时候才会更容易的去理解。有的组件、技能看似热门、高端,其实都是从基础的东西演变而来的,所以,不管是哪个技术领域,基础知识和原理知识的重要性是可想而知了吧?

本文转载于(喜欢的盆友关注我们):

https://mp.weixin.qq.com/s/0OYTYb1elsw50ZkQYUh4hw

Original: https://www.cnblogs.com/ttropsstack/p/16522585.html
Author: 不背锅运维
Title: 本篇还玩“障眼法”,一文解读HTML内联框架Iframes。

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/582298/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Linux03:三种软件安装方式及基本环境安装(狂神说)

    linux的三种软件安装及基本环境安装 安装软件通常有三种方式: [En] There are generally three ways to install software: …

    Linux 2023年5月27日
    0114
  • ServiceHub.DataWarehouseHost.exe内存泄漏问题的处理

    ServiceHub.DataWarehouseHost.exe内存泄漏问题的处理。 Visual Studio 2017的15.2版本在debug应用程序时,ServiceHub…

    Linux 2023年6月7日
    0134
  • AWS修改RDS时区

    查看 RDS 当前时区 默认情况下,AWS 的 RDS 采用的是 UTC 时间。而我们地区一般位于东八区,因此我们本地的时间是 UTC+8。 连接到 RDS 上,查询当前实例的时区…

    Linux 2023年6月7日
    0120
  • 符号转义解决SSH远程命令执行的问题

    场景:服务器 A B C D 上存在一些日志,日志中的每行包含了日期、日志级别、日志信息等。现在要求从跳板机 X 获取这四台服务器上的数据,并通过规则(如日期)筛选,汇总到一个文件…

    Linux 2023年6月14日
    0127
  • OpenStack cinder对接glusterfs存储

    一、创建虚拟机node1 自定义默认下一步稍后安装操作系统选择Linux,红帽6名称位置随意1核就行2G内存就行仅主机网络默认下一步默认下一步默认下一步30G,给单个文件添加一块5…

    Linux 2023年6月8日
    0118
  • 面试题汇总

    JAVA 基础 1.java 性能优化 ①尽量指定类、方法的final 修饰符 ②尽量重用对象 ③尽可能使用局部变量 ④及时关闭流 ⑤尽量减少对变量的重复计算 ⑥尽量采用懒加载的策…

    Linux 2023年6月7日
    0112
  • source insight4.0最常用到的设置

    1、常用功能 1.1:全局查找 1.2:当前文件查找 1.3:高亮设置 1.4:配置字体以及其他 1.5:配置自动缩进 1.6:其他 1. 常用功能 全局查找 Ctl+/ 查找到的…

    Linux 2023年5月27日
    0150
  • MySQL半同步复制的实现和复制过滤器

    当客户端发送给服务端请求时,在等待服务端响应的时候,客户端可以做其他的事情,这样节约了时间,提高了效率。 当客户端发送请求给服务端,在等待服务端响应的请求时,客户端不做其他的事情。…

    Linux 2023年6月7日
    0134
  • shell order

    1,与 “-a” : a是and if [ 条件1 -a 条件2 ] ;then shell order shell order … fi 2,…

    Linux 2023年5月28日
    0133
  • Ceph 块存储 创建的image 映射成块设备

    将创建的volume1映射成块设备 [root@mysql-server ceph]# rbd map rbd_pool/volume1 rbd: sysfs write fail…

    Linux 2023年6月13日
    0119
  • DHCP欺骗攻击—模拟

    实验拓扑: 基本配置: DHCP服务器配置: 客户端配置: 攻击者配置: 使用云与kail桥接 云: kail虚拟机配置: 为kali linux也添加一张网卡,桥接到VMnet1…

    Linux 2023年6月13日
    0118
  • redis

    PHP-redis:http://pecl.php.net/package/redis PHP-redis中文文档(redis各种方法介绍):http://www.cnblogs….

    Linux 2023年5月28日
    0107
  • 设计模式——-模板方法模式

    模板方法模式定义:定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 抽象类的父类,父类中定义了基本方法,模板方…

    Linux 2023年6月7日
    0128
  • Mysql数据库语言学习的路线

    对于我们数据库的学习,不管是测试人员还是开发人员以及我们的DBA来说重点都是SQL;但是我们的SQL可以分多少类型,学习重点又是在哪里呢,本文仅仅针对测试人员来展开说明: SQL:…

    Linux 2023年6月14日
    0106
  • 国产化之银河麒麟安装.NetCore-包管理器方式

    背景 某个项目需要实现基础软件全部国产化,其中操作系统指定银河麒麟,数据库使用达梦V8,CPU平台的范围包括x64、龙芯、飞腾、鲲鹏等。 考虑到这些基础产品对.NETCore的支持…

    Linux 2023年5月27日
    0149
  • 【socket】基于Linux使用select上报温度–服务端

    select使用 * – select函数 – select流程图 – 服务端代码实现 select函数 select监视并等待多个文件描述符的…

    Linux 2023年6月13日
    0120
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球