28 插件
插件可扩展浏览器的功能
28.1 HTML 助手(插件)
辅助应用程序(helper application)是可由浏览器启动的程序。辅助应用程序也称为插件。
辅助程序可用于播放音频和视频(以及其他)。辅助程序是使用 <object> 标签来加载的。
使用辅助程序播放视频和音频的一个优势是,您能够允许用户来控制部分或全部播放设置。
插件可以通过 <object> 标签或者 <embed> 标签添加在页面中。
大多数辅助应用程序允许对音量设置和播放功能(比如后退、暂停、停止和播放)的手工(或程序的)控制。
注意:
大多数浏览器不再支持 Java 小程序和插件。
大多数现代浏览器关闭了对 Flash 的支持。
以下 swf 文件的实例在现代浏览器中无法正常运行。
我们可以使用 <video> 和 <audio> 标签来显示视频和音频
28.2 <object> 元素
所有主流浏览器都支持 <object> 标签。
<object> 元素定义了在 HTML 文档中嵌入的对象。
该标签用于插入对象 (例如在网页中嵌入 Java 小程序, PDF 阅读器, Flash 播放器) 。
实例1:<object width="400" height="50" data="bookmark.swf"></object>
实例2:<object> 元素同样可用于包含HTML文件:
<object width="100%" height="500px" data="snippet.html"></object>
实例2: <object>元素插入一张图片
<object data="audi.jpeg"></object>
28.3 <embed> 元素
所有主流浏览器都支持 <embed> 元素。注意 <embed> 元素没有关闭标签。 不能使用替代文本。
<embed> 元素表示一个 HTML Embed 对象 。
<embed> 元素已经出现很长一段时间了,但是在 HTML5 前并未被详细说明,该元素在 HTML 5 页面上会被验证,在 HTML 4 上不会。
实例:<embed width="400" height="50" src="bookmark.swf">
实例 <embed> 元素同样可用于包含 HTML 文件:
<embed width="100%" height="500px" src="snippet.html">
实例 插入一张图片:
<embed src="audi.jpeg">
29.音频
声音在HTML中可以以不同的形式播放
29.1 使用插件
浏览器插件是一种扩展浏览器标准功能的小型计算机程序。
插件可以使用 <object> 标签 或者 <embed> 标签添加在页面上.
这些标签定义资源(通常非 HTML 资源)的容器,根据类型,它们即会由浏览器显示,也会由外部插件显示。
29.2 使用 <embed> 元素
<embed>标签定义外部(非 HTML)内容的容器。(这是一个 HTML5 标签,在 HTML4 中是非法的,但是所有浏览器中都有效)。
实例
<embed height="50" width="100" src="horse.mp3">
问题:
<embed> 标签在 HTML 4 中是无效的。页面无法通过 HTML 4 验证。
不同的浏览器对音频格式的支持也不同。
如果浏览器不支持该文件格式,没有插件的话就无法播放该音频。
如果用户的计算机未安装插件,无法播放音频。
如果把该文件转换为其他格式,仍然无法在所有浏览器中播放。
29.3 使用 <object> 元素
<object tag> 标签也可以定义外部(非 HTML)内容的容器。
实例
<object height="50" width="100" data="horse.mp3"></object>
问题:
不同的浏览器对音频格式的支持也不同。
如果浏览器不支持该文件格式,没有插件的话就无法播放该音频。
如果用户的计算机未安装插件,无法播放音频。
如果把该文件转换为其他格式,仍然无法在所有浏览器中播放。
29.4 使用 HTML5 <audio> 元素
HTML5 <audio> 元素是一个 HTML5 元素,在 HTML 4 中是非法的,但在所有浏览器中都有效。
The <audio> element works in all modern browsers.
以下我们将使用 <audio> 标签来描述 MP3 文件(Internet Explorer、Chrome 以及 Safari 中是有效的), 同样添加了一个 OGG 类型文件(Firefox 和 Opera浏览器中有效).如果失败,它会显示一个错误文本信息:
实例
<audio controls>
<source src="horse.mp3" type="audio/mpeg">
<source src="horse.ogg" type="audio/ogg">
Your browser does not support this audio format.
</audio>
问题:
<audio> 标签在 HTML 4 中是无效的。您的页面无法通过 HTML 4 验证。
您必须把音频文件转换为不同的格式。
<audio> 元素在老式浏览器中不起作用。
29.5 下面的例子使用了两个不同的音频格式。HTML5 <audio> 元素会尝试以 mp3 或 ogg 来播放音频。如果失败,代码将回退尝试 <embed> 元素。
实例
<audio controls height="100" width="100">
<source src="horse.mp3" type="audio/mpeg">
<source src="horse.ogg" type="audio/ogg">
<embed height="50" width="100" src="horse.mp3">
</audio>
问题:必须把音频转换为不同的格式。<embed> 元素无法回退来显示错误消息。
29.6 使用超链接
如果网页包含指向媒体文件的超链接,大多数浏览器会使用"辅助应用程序"来播放文件。
以下代码片段显示指向 mp3 文件的链接。如果用户点击该链接,浏览器会启动"辅助应用程序"来播放该文件:
实例
<a href="horse.mp3">Play the sound</a>
29.7 内联的声音说明
当在网页中包含声音,或者作为网页的组成部分时,它被称为内联声音。
如果打算在 web 应用程序中使用内联声音,您需要意识到很多人都觉得内联声音令人恼火。同时请注意,用户可能已经关闭了浏览器中的内联声音选项。
我们最好的建议是只在用户希望听到内联声音的地方包含它们。一个正面的例子是,在用户需要听到录音并点击某个链接时,会打开页面然后播放录音。
29.8 HTML 多媒体标签
标签 描述
<embed> 定义内嵌对象。HTML4 中不赞成,HTML5 中允许。
<object> 定义内嵌对象。
<param> 定义对象的参数。
<audio>(HTML5 新标签) 定义了声音内容
<video>(HTML5 新标签) 定义一个视频或者影片
<source>(HTML5 新标签) 定义了media元素的多媒体资源(<video> 和 <audio>)
<track>(HTML5 新标签) 规定media元素的字幕文件或其他包含文本的文件 (<video> 和<audio>)