object、param标签及页面显示PDF文件的方法

object、param标签及页面显示PDF文件的方法

 

一、object、param标签

 HTML 标签

定义和用法

定义一个嵌入的对象。请使用此元素向您的 XHTML 页面添加多媒体。此元素允许您规定插入 HTML 文档中的对象的数据和参数,以及可用来显示和操作数据的代码。
标签用于包含对象,比如图像、音频、视频、Java applets、ActiveX、PDF 以及 Flash。
object 的初衷是取代 img 和 applet 元素。不过由于漏洞以及缺乏浏览器支持,这一点并未实现。
浏览器的对象支持有赖于对象类型。不幸的是,主流浏览器都使用不同的代码来加载相同的对象类型。
而幸运的是,object 对象提供了解决方案。如果未显示 object 元素,就会执行位于 之间的代码。通过这种方式,我们能够嵌套多个 object 元素(每个对应一个浏览器)。

实例

向 HTML 代码添加一个对象:

 
         
         
         
         
         

浏览器支持

几乎所有主流浏览器都拥有部分对 标签的支持。

HTML 与 XHTML 之间的差异

NONE

提示和注释:

注释: 标签定义用于对象的 run-time 设置。
注释:不要对图像使用 标签,请使用 标签代替。

 

可选的属性


属性 描述 DTD
align
  • left
  • right
  • top
  • bottom
定义围绕该对象的文本对齐方式。 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 就可以做到了。例子如下:

 


data="flashdatei.swf"
type="application/x-shockwave-flash"
height="275"
width="256"
class="mozilla">


  你会发现其实就是把 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/


你可能感兴趣的:(html控件)