目前,掌握了图像,视频和音频的嵌入,下面来谈iframe和embed、object嵌入网页,

嵌入简史,刚开始流行用嵌入框架然后不同部分显示i不同内容,可以解决下载速度慢时的问题;

慢慢的插件技术流行,java applet和flash的出现,能够将内容嵌入到网页中,视频和动画,这些通过<object>和<embed>元素来实现,  到现在<iframe>元素出现,连同<canvas><video>出现,提供将一个整个web网页嵌入另一个网页的方法。

Iframe详解

  允许您将其他web文档嵌入到当前文档中,将第三方网站纳入您的网站,下面直接引入一个实例,

<iframe src="https://developer.mozilla.org/en-US/docs/Glossary"
width="100%" height="500" frameborder="0"
allowfullscreen sandbox>
<p> <a href="https://developer.mozilla.org/en-US/docs/Glossary">
Fallback link for browsers that don't support iframes
</a> </p>
</iframe>

此实例包含iframe基本要素如下:

allowfullscreen 设置后可以通过全屏API设置为全屏模式,

frameborder 设置为1,告诉浏览器在此框架和其他框架之间绘制边框,默认行为;如果是0,删除边框,因为CSS可以更好实现相同效果,border:none;

src 与img标签里一样,

width 和height 指定框架的宽度的高度

同样iframe里的p段落也是i备选内容,如果不支持将显示备选内容;

sandbox 用于安全设置,iframe的src属性应该在页面主内容加载完之后使用javascript设置iframe的src属性会更好,可以让页面快速被使用。

  安全问题,黑客选择iframe作为攻击目标,也叫攻击向量。单机劫持是一种常见的iframe攻击,黑客将隐藏的iframe嵌入到您的文档中,并使用其捕获用户的交互,误导用户来窃取敏感数据。对于iframe只在必要时嵌入,也要考虑侵权的问题,适当标注来源。

  使用HTTPS 是http的加密版本,https减少了远程内容在传输过程种被篡改的机会;防止嵌入式内容访问您的父文档中的内容。通过HTTPS来嵌入iframe;

  始终使用sandbox属性,也叫沙盒属性,即iframe内容只给与部分权限,那么未沙盒化的unsandbox内容可以执行的操作太多。

  配置CSP指令

csp代表内容安全策略,提供一组HTTP标头,由web服务器发送时与元素据一起发送的元数据,旨在提高HTML文档的安全性,在服务器端配置为发送适当的X-Frame-Options标题。

  <embed><object>元素。

不同于<iframe> 这些个元素是用来嵌入多种类型的外部内容的通用嵌入工具,包括java小程序和flash,PDF,插件技术,SVG内容。 插件是一种对浏览器原生无法读取的内容提供访问权限的去软件。   如果需要插件内容,需要下面的信息:

  嵌入内容的网址,src  嵌入内容的媒体类型 type   ; 有插件控制的框高度和宽度,width、height

名称和值,作为参数的提供,   独立的HTML内容作为不可用的资源回退。

  typemustmatch保持嵌入文件不运行,当嵌入来自不同来源的内容,防止攻击者通过插件运行任意脚本,可以赋予更重要的安全优势。

  接下来考虑<embed>元素嵌入Flash影片的示例,

<embed src="whoosh.swf" quality="medium"
bgcolor="#ffffff" width="550" height="400"
name="whoosh" align="middle" allowScriptAccess="sameDomain"
allowFullScreen="false" type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/go/getflashplayer">

代码非常混乱,这种情况开始减少被认为没必要。再来看一个object嵌入pdf的例子;

<object data="mypdf.pdf" type="application/pdf"
width="800" height="1200" typemustmatch>
<p>You don't have a PDF plugin, but you can <a href="myfile.pdf">download the PDF file.</a></p>
</object>

pdf是纸与数据之间的阶梯,通过链接指向可以直接在单独的页面被下载或被阅读。

  总结,这篇主要还是讲web文档三个插入元素的使用方式,和带来的一些问题。

HTML入门10的更多相关文章

  1. JavaScript基础入门10

    目录 JavaScript 基础入门10 正则表达式 为什么使用正则表达式? 正则表达式的应用场景 如何创建一个正则表达式 基础语法 具有特殊意义的转义字符 量词 字符类 贪婪模式 练习 邮箱验证 中 ...

  2. Cesium入门10 - 3D Tiles

    Cesium入门10 - 3D Tiles Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ 我们团队有时把Ces ...

  3. SLAM+语音机器人DIY系列:(二)ROS入门——10.在实际机器人上运行ROS高级功能预览

    摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS ...

  4. python scrapy 入门,10分钟完成一个爬虫

    在TensorFlow热起来之前,很多人学习python的原因是因为想写爬虫.的确,有着丰富第三方库的python很适合干这种工作. Scrapy是一个易学易用的爬虫框架,尽管因为互联网多变的复杂性仍 ...

  5. SVG 2D入门10 - 滤镜

    滤镜称得上是SVG最强大的功能了,它允许你给图形(图形元素和容器元素)添加各种专业软件中才有的滤镜特效.这样你就很容易在客户端生成和修改图像了.而且滤镜并没有破坏原有文档的结构,所以维护性也很好.   ...

  6. 机器学习入门10 - 正则化:简单性(Regularization for Simplicity)

    原文链接:https://developers.google.com/machine-learning/crash-course/regularization-for-simplicity 正则化指的 ...

  7. springcloud 入门 10 (eureka高可用)

    eureka高可用: 说白了,就是加一个实例作为原实例的备份,然后一起对外提供服务.这样可以保证在一台机器宕机的时候,整个系统不会死掉.保证其继续对外服务. eureka的集群化: 服务注册中心Eur ...

  8. python入门10 循环语句

    两种循环: 1 for in 2 while #coding:utf-8 #/usr/bin/python """ 2018-11-03 dinghanhua 循环语句 ...

  9. TTS-零基础入门-10分钟教你做一个语音功能

    在本片博客正式開始之前,大家先跟我做一个简单的好玩的 小语音. 新建一个文本文档,然后再文档里输入这样 一句话  CreateObject("SAPI.SpVoice").Spea ...

  10. pandas入门10分钟——serries其实就是data frame的一列数据

    10 Minutes to pandas This is a short introduction to pandas, geared mainly for new users. You can se ...

随机推荐

  1. kali中的webshell工具--webacoo

    webacoo webshell其实就是放置在服务器上的一段代码 kali中生成webshell的工具 WeBaCoo(Web Backdoor Cookie) 特点及使用方法 类终端的shell 编 ...

  2. Vagrant上运行SITL

    打算给Tower加个手机遥控的功能,用运行于vagrant sitl来联合调试,在公司的网络条件很好的情况下没出任何错,都是根据http://ardupilot.org/dev/docs/settin ...

  3. 使用nc传输文件和目录【转】

    方法1,传输文件演示(先启动接收命令) 使用nc传输文件还是比较方便的,因为不用scp和rsync那种输入密码的操作了 把A机器上的一个rpm文件发送到B机器上 需注意操作次序,receiver先侦听 ...

  4. 【C++11】unoedered_map和map(部分转载)

    1.结论 新版的hash_map都是unordered_map了,这里只说unordered_map和map. 运行效率:unordered_map最高,而map效率较低但提供了稳定效率和有序的序列. ...

  5. MQTT控制---connect

    连接服务端 客户端到服务端的第一个报文必须是CONNECT,且只能发送一次,发送的第二个connect报文当作违规处理并断开连接. 有效载荷包含一个或者多个编码的字段.包括客户端的唯一标识符,Will ...

  6. vue 统一处理token失效问题

    使用http response 拦截器 在main.js中添加 import axios from 'axios'; axios.interceptors.response.use(response ...

  7. 二丶Django~1

      一 什么是web框架? 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演. 对于 ...

  8. 算法工程师<数学题/智力题>

    <数学题/智力题> 1.如果一个女生说,她集齐了十二个星座的前男友,我们应该如何估计她前男友的数量? https://blog.csdn.net/FnqTyr45/article/deta ...

  9. 01-初识MySQL数据库

    一.数据库概述 1.什么是数据 描述事物特征的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字.图片,图像.声音.语言等,数据由多种表现形式,它们都可以经过数字化后存入计算机.如: name ...

  10. WordPress 文章点赞

    Installation 上传 wp-zan目录 到 /wp-content/plugins/ 目录 在后台插件菜单激活该插件 添加 <?php wp_zan();?> 到需要的位置 De ...