首页 > 其他分享 >HTML-“多媒体与嵌入”的笔记

HTML-“多媒体与嵌入”的笔记

时间:2023-06-04 09:44:05浏览次数:52  
标签:视频 00 播放 多媒体 标签 嵌入 HTML 属性 图片

目录

HTML 中的图片

怎样将一幅图片放到网页上?

简单的例子就是这样:
<img src="dinosaur.jpg">
或者这样:
<img src="images/dinosaur.jpg">
更多的例子看这里

备选文本

也就是 alt 属性,它的值是对图片的文字描述,用于在图片无法显示或不能被看到的情况。
举例就是这样:

<img src="https://raw.githubusercontent.com/mdn/learning-area/master/html/multimedia-and-embedding/images-in-html/dinosaur_small.jpg"
     alt="The head and torso of a dinosaur skeleton;
          it has a large head with long sharp teeth">

宽度和高度

不建议用这个属性,更多是建议用图片编辑器或CSS来对宽高进行操作。
如果实在想知道怎么做,那就看这里吧。

Image titles 图片标题

有用,但用处不大。
这类似于超链接,用title属性给图片提供需要更进一步的支持信息。
举例就是这样:

<img src="https://raw.githubusercontent.com/mdn/learning-area/master/html/multimedia-and-embedding/images-in-html/dinosaur_small.jpg"
     alt="一只恐龙头部和躯干的骨架,它有一个巨大的头,长着锋利的牙齿。"
     title="A T-Rex on display in the Manchester University Museum">

这会给我们一个鼠标悬停提示,看起来就像链接标题。

通过为图片搭配说明文字的方式来解说图片

HTML5 的 <figure> 和 <figcaption> 元素来为图片提供一个语义容器,在标题和图片之间建立清晰的关联。
例如:

<figure>
  <img src="https://raw.githubusercontent.com/mdn/learning-area/master/html/multimedia-and-embedding/images-in-html/dinosaur_small.jpg"
      alt="一只恐龙头部和躯干的骨架,它有一个巨大的头,长着锋利的牙齿。"
      width="400"
      height="341">
  <figcaption>曼彻斯特大学博物馆展出的一只霸王龙的化石</figcaption>
</figure>

需要注意的是:
<figure> 里不一定要是一张图片,只要是一个这样的独立内容单元:

  • 用简洁、易懂的方式表达意图。
  • 可以置于页面线性流的某处。
  • 为主要内容提供重要的补充说明。

也就是说,<figure> 只是用来给特定内容绑定信息的,而不是只能对图片这样做。

CSS 背景图片

因为CSS背景图片有着一定的局限性,所以我这里只举例要怎么使用,而更详细的信息请看这里
举例:

p {
  background-image: url("images/dinosaur.jpg");
}

视频和音频内容

web 中的音频和视频

<video> 元素

使用举例:

<video src="rabbit320.webm" controls>
  <p>你的浏览器不支持 HTML5 视频。可点击<a href="rabbit320.mp4">此链接</a>观看</p>
</video>

讲解:

  • src 负责指向视频链接
  • controls 负责给视频加上最基础的功能(开始、停止、调整音量)
  • <video> 标签内的内容则是当视频无法加载时,再给用户提供特定信息的

使用多个播放源以提高兼容性

一个播放源可能不能很好的支持所有浏览器,所以可以提供多个播放源以给用户最佳体验。
举例:

<video controls>
  <source src="rabbit320.mp4" type="video/mp4">
  <source src="rabbit320.webm" type="video/webm">
  <p>你的浏览器不支持 HTML5 视频。可点击<a href="rabbit320.mp4">此链接</a>观看</p>
</video>

讲解:

  • 将 src 属性从 <video> 标签中移除,转而将它放在几个单独的标签 <source> 当中。
  • <source> 的使用显而易见,就是给同一个视频提供多个播放源,想要有几个播放源就弄几个 <source>
  • 而同时 <source> 还有一个可选的 type 属性,它的作用是向浏览器说明,这个播放源是什么格式的,这会更方便浏览器找到那个可以使用的播放源,所以一般建议加上。

其他 <video> 特性

其他 <video> 特性有着诸如 “控制视频尺寸”、“自动播放”、“循环播放”、“加入封面”等内容,具体的就来这里看吧。

<audio> 标签

因为原本教程说的很清晰,所以我这里就照搬了。
<audio> 标签与 <video> 标签的使用方式几乎完全相同,有一些细微的差别比如下面的边框不同,一个典型的例子如下:

<audio controls>
  <source src="viper.mp3" type="audio/mp3">
  <source src="viper.ogg" type="audio/ogg">
  <p>你的浏览器不支持 HTML5 音频,可点击<a href="viper.mp3">此链接</a>收听。</p>
</audio>

看,是不是与 <video> 几乎一样?

只不过因为 <audio> 没有视觉部件,所以并不支持 width/height 属性和 poster 属性,不过总体而言还是跟 <video> 十分相似的。

重新播放媒体

这个吧...因为用到的是JS技术,所以我就不做笔记、跳过了,不过还是把链接放出来,方便之后需要的时候检索吧。

音轨增删事件

同《重新播放媒体》

显示音轨文本

简单来说,就是通过 WebVTT 这个格式,用来编写文本文件,然后给视频提供帮助(字幕、翻译等)。
举例:
这是典型的 WebVTT 文件:

WEBVTT

1
00:00:22.230 --> 00:00:24.606
第一段字幕

2
00:00:30.739 --> 00:00:34.074
第二段

  ...

而这是让 WebVTT 文件正常使用的做法:

  1. 以 .vtt 后缀名保存文件。

  2. 用 <track> 标签链接 .vtt 文件, <track> 标签需放在 <audio> 或 <video> 标签当中,同时需要放在所有 <source> 标签之后。使用 kind 属性来指明是哪一种类型,如 subtitles、captions、descriptions。然后,使用 srclang 来告诉浏览器你是用什么语言来编写的 subtitles。

如下:

<video controls>
    <source src="example.mp4" type="video/mp4">
    <source src="example.webm" type="video/webm">
    <track kind="subtitles" src="subtitles_en.vtt" srclang="en">
</video>

更多细节看这里

嵌入技术

Iframe 详解

示例代码:

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

内容讲解:

  1. src="https://developer.mozilla.org/zh-CN/docs/Glossary"这部分一如既往地,是你要嵌入的内容的链接。
  2. width="100%" height="500" 这部分则显而易见,是控制嵌入内容的宽、高的。
  3. frameborder="0"这个属性如果设置为 1,会告诉浏览器在此框架和其他框架之间绘制边框,这是默认行为。0 删除边框。不推荐这样设置,因为在 CSS 中可以更好地实现相同的效果。
  4. allowfullscreen如果设置,<iframe>则可以通过全屏 API 设置为全屏模式。
  5. sandbox该属性可以提高安全性设置,更详细内容会在后面说到。

安全隐患

内容挺多的,其中相当一部分内容是讲解了造成安全隐患的逻辑/原因,具体的话可以看这里

我这里的话就简单做一下避免安全隐患的笔记了。

  1. 只有在必要时嵌入。
    在网络上,你怎么谨慎都不为过,如果你决定要做这件事,多检查一遍;如果是别人做的,在被证明是安全的之前,都假设这是危险的

  2. 使用 HTTPS
    如果用不了,也要注意无论成本如何,你绝对不能使用 HTTP 嵌入第三方内容

  3. 始终使用 sandbox 属性
    默认情况下,应该使用没有参数的sandbox属性来强制执行所有可用的限制,如前面的示例所示。
    如果绝对需要,再逐个添加权限(sandbox=""属性值内)
    其中很重要的一点是,你永远不应该同时添加 allow-scriptsallow-same-origin 到你的 sandbox 属性中

  4. 配置 CSP 指令
    不会,没看懂,如果真的要用的时候,再上网搜一下具体内容吧。

<embed> 和 <object> 元素

因为这部分内容只是推荐了解,然后在特定场合下能够理解其含义,而不推荐使用,所以我就不做笔记了,直接看大佬的教程吧。

标签:视频,00,播放,多媒体,标签,嵌入,HTML,属性,图片
From: https://www.cnblogs.com/aduiduidui/p/17451323.html

相关文章

  • 帝国CMS刷新数据表news提示update ***_ecms__index set havehtml=1 where id='' limit
    今天我在进行“数据更新”时,点击“刷新所有信息内容页面”后,在“刷新数据表:article”一项出现提示Table‘empirecms.phome_ecms_’doesn’texist代码如下:Table'www_zwwiki_com.***_ecms_news_data_'doesn'texist;selectkeyid,dokey,newstempid,closepl,infotags,befrom......
  • html+css简单易懂的轮播图实现
    实现轮播图感觉好复杂啊,这个比较简单的实现了但是还是没有怎么理解代码,只能先发出来慢慢学习学习了话不多说,直接上代码<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge">......
  • Jmeter函数助手41-unescapeHtml
    unescapeHtml函数用于将HTML转义过的字符串反转义为Unicode字符串。Stringtounescape:填入字符 1、escapeHtml函数是将字符进行HTML转义,unescapeHtml函数函数则是将HTML转义过的字符反转,unescapeHtml函数和escapeHtml函数功能刚好相反。${__unescapeHtml(value="hello"+"w......
  • FreeRtos的移植,以及一些嵌入式学习心得。
    不得不先提心得。这不是第一次移植FreeRtos,至少是五六七八九次了,当然也不是最后一次。但是每一次移植其实都差不多,并没有什么得心应手的感觉。原因就是学的东西太多,学的太杂。我不得不承认,就算我天资聪慧,异于常人,记这么多知识是不可能的。人力有穷时。尊重这个客观现实,但不放......
  • php调用html模板
    在PHP中调用HTML模板,通常可以使用模板引擎来实现,例如Smarty、Twig等。以下是一个使用Smarty模板引擎的示例代码:<!--HTML模板文件template.html--><html><head><title>{$title}</title></head><body><h1>{$header}</h1>{foreach$i......
  • 浏览器渲染HTML的步骤
       HTML被HTML解析器解析成DOMTree,CSS则被CSS解析器解析成CSSOMTree`。DOMTree和CSSOMTree解析完成后,被附加到一起,形成渲染树(RenderTree)。节点信息计算(重排),这个过程被叫做Layout(Webkit)或者Reflow(Mozilla)。即根据渲染树计算每个节点的几何信息生成布局......
  • 嵌入式进阶之关于SPI通信的案例分享——基于全志科技T3与Xilinx Spartan-6处理器
    本文主要介绍基于全志科技T3与XilinxSpartan-6的通信案例。适用开发环境:Windows开发环境:Windows764bit、Windows1064bitLinux开发环境:Ubuntu18.04.464bit虚拟机:VMware15.1.0U-Boot:U-Boot-2014.07Kernel:Linux-3.10.65LinuxSDK:LinuxSDK_AA_BB_CC_DD(基于T3_LinuxSDK_V1.......
  • 使用 wkhtmltopdf python html转pdf
    使用wkhtmltopdfpythonhtml转pdf文章目录使用wkhtmltopdfpythonhtml转pdf前言一、环境二、安装与配置1.首先安装pdfkit0.612.pythonhtml转pdf3.url转pdf遇到的问题总结前言使用wkhtmltopdfpythonhtml转pdf。一、环境pdfkit0.61python3.7二、安装与配置1.首先安装pdfk......
  • 在HTML5中有什么可以替代iFrame
    最佳解决方法通常有4种方法可以将HTML嵌入到网页中:<iframe> iframe的内容完全位于当前页面不同的上下文中。虽然这是一个很棒的功能,而且是不同浏览器版本之间兼容最好的,但是它也带来了额外的问题(将frame大小跟网页内容设置一致比较麻烦)。AJAX。可以使用XMLHttpRequest对象来检索......
  • vue2项目中使用dhtmlx gantt甘特图插件
    官网示例地址:https://docs.dhtmlx.com/gantt/samples/可以在这里查看绑定数据的格式安装依赖npminstalldhtmlx-gantt--save创建一个甘特图组件<template><el-scrollbarref="gantt_scrollbar"class="gantt-box"><divref="gantt"class=&qu......