object、param标签及页面显示PDF文件的方法
一、object、param标签
HTML
定义和用法
定义一个嵌入的对象。请使用此元素向您的 XHTML 页面添加多媒体。此元素允许您规定插入 HTML 文档中的对象的数据和参数,以及可用来显示和操作数据的代码。
实例
向 HTML 代码添加一个对象:
|
几乎所有主流浏览器都拥有部分对
HTML 与 XHTML 之间的差异
NONE
提示和注释:
注释: 标签定义用于对象的 run-time 设置。
注释:不要对图像使用 标签代替。
可选的属性
属性 | 值 | 描述 | DTD |
align |
|
定义围绕该对象的文本对齐方式。 | TF |
archive | URL | 由空格分隔的指向档案文件的 URL 列表。这些档案文件包含了与对象相关的资源。 | STF |
border | pixels | 定义对象周围的边框。 | TF |
classid | class ID | 定义嵌入 Windows Registry 中或某个 URL 中的类的 ID 值,此属性可用来指定浏览器中包含的对象的位置,通常是一个 Java 类。 | STF |
codebase | URL | 定义在何处可找到对象所需的代码,提供一个基准 URL。 | STF |
codetype | MIME type | 通过 classid 属性所引用的代码的 MIME 类型。 | STF |
data | URL | 定义引用对象数据的 URL。如果有需要对象处理的数据文件,要用 data 属性来指定这些数据文件。 | STF |
declare | declare | 可定义此对象仅可被声明,但不能被创建或例示,直到此对象得到应用为止。 | STF |
height | pixels | 定义对象的高度。 | STF |
hspace | pixels | 定义对象周围水平方向的空白。 | TF |
name | unique_name | 为对象定义唯一的名称(以便在脚本中使用)。 | STF |
standby | text | 定义当对象正在加载时所显示的文本。 | STF |
type | MIME_type | 定义被规定在 data 属性中指定的文件中出现的数据的 MIME 类型。 | STF |
usemap | URL | 规定与对象一同使用的客户端图像映射的 URL。 | STF |
vspace | pixels | 定义对象的垂直方向的空白。 | TF |
width | pixels | 定义对象的宽度。 | STF |
标准属性
id, class, title, style, dir, lang, xml:lang
如需完整的描述,请参考标准属性。
事件属性
accesskey, tabindex, onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup
如需完整的描述,请参考事件属性。
二、网页内嵌多媒体 IE,Mozilla、Firefox、NetScape、Opera 2
2008-09-23 14:59
(一)完美内嵌 Quicktime
1、客户端要求:
对于 Windows 用户和 Mac OS X 用户,安装相应版本的 QuickTime 播放器即可。Windows 版下载 QuickTimeinstaller.exe,Mac OS X 版下载 QuickTimeinstaller.exe
Windows 用户也可以安装暴风影音等带有 QuickTime 解码器和浏览器插件的其他播放器,例如暴风影音。
对于 Linux 以及 FreeBSD、Solaris 等 Unix 系统用户,需要 VLC media player及其浏览器插件或者 MPlayer 及其浏览器插件。
2、实现代码:
3、要点分析:
QuickTime 格式的内嵌比较简单,像上面那样写就可以了,基本上没有什么要注意的地方。媒体路径 src 的值,可以是完整地址,也可以是相对地址,可以用 url 编码,也可以不编码,QuickTime 插件和 VLC 插件都能正确的支持,当然为了保险起见,最好还是采用 url 编码方式里写媒体路径。
虽然 embed 中指定的是 video/quicktime 类型,但是即使链接的媒体是 mp3 仍然能播放。对于 QuickTime 支持的其他类型的没有进行测试,但我想应该也是可以的。
(二)完美内嵌 Flash
1、客户端要求:
安装你所使用的浏览器的 Flash 插件。
2、实现代码:
3、要点分析:
对于 Flash 似乎没什么好说的,因为这个用的很普遍。在这里写下来只是为了查阅方便,算是凑数吧。呵呵。
(三)让内嵌多媒体通过 XHTML 验证
1、问题:
上面的所有的代码,虽然能够完美的在各个浏览器上很好的播放了,但是还有一点美中不足,那就是这样的页面无法通过 XHTML 验证。原因是 embed 标签从来都不是 HTML 标准中的标签,因此 XHTML 中也没有它。
2、解决:
如果你不在乎你的网页是否符合标准,那照上面那样做就可以了。如果你还想追求更加完美,请看下面的解决方案:
下面以 flash 为例来介绍,方法同样适用于其他类型的多媒体内容。
我们知道 W3C 推荐使用的是 object 标签,但用法却不是 Internet Explorer 那种用 classid 来区分控件类型,而是采用 type 来指定 MIME 类型。现在的 Mozilla、Firefox 和 Opera 都支持这种用法,虽然 IE 目前的版本也支持这种用法,不过很可惜的是,IE 还是有 bug,那就是只有全部下载完毕才能播放。而且还不是所有的情况下都能用。在某些 IE 浏览器上还显示空白。所以单纯用 W3C 推荐的 object 标签用法还是不够的。但是我们可以作一下变通,如果是用户浏览器是 IE 的话,我们就用 IE 的 object 的用法,如果是其他浏览器,我们就采用 W3C 的用法。这样就可以两全其美了。也许此刻,你觉得我们该用到脚本了。不,我们不需要脚本。我们只需要用 IE 所特有的条件注释和 CSS 就可以做到了。例子如下:
|
你会发现其实就是把 embed 替换成了 object,而且位置也从 IE 的 object 中移出来了。embed 标签里的 src 属性在 object 中变成了 data 属性。而 firefox 等非 IE 浏览器因为不认识 标签,所以其中的部分都当作注释忽略了。而 IE 因为执行了 中的内容,所以 firefox 中可以识别的那个 object 因为 css 被重新定义而被隐藏了。
三、如何直接在网页中显示PDF文件
2011-06-17 15:52:49
1、 embed
通过的浏览器:360、Firefox、IE、Chrome
2、Object
通过的浏览器:360、IE
未通过的浏览器:Firefox、Chrome
3、 iFrame框架
通过的浏览器:360、Firefox、IE、Chrome
4、用浏览器直接访问http://127.0.0.1/test_pdf.pdf (其实这个不算是在网页内吧)
通过的浏览器:360、Firefox、IE、Chrome
以上四种方式均在WinXP下。(之前有碰到过上传的功能在Win7下失效的情况,故在此说明一下OS)
原文转载自 :http://vs.net2005.blog.163.com/blog/static/77528105201212141111959/