原文地址

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

一、object、param标签

HTML <object> 标签

定义和用法

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

实例

向 HTML 代码添加一个对象:

 <object classid="clsid:F08DF954-8592-11D1-B16A-00C0F0283628" id="Slider1" width="100" height="50">
          <param name="BorderStyle" value="1" />
          <param name="MousePointer" value="0" />
          <param name="Enabled" value="1" />
          <param name="Min" value="0" />
          <param name="Max" value="10" />
</object>



浏览器支持

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

HTML 与 XHTML 之间的差异

NONE

提示和注释:

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

可选的属性

属性 描述 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 22008-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、实现代码:

<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab" width="420" height="360">
   <param name="autoplay" value="true" />
   <param name="src" value="mov%2F%B2%E2%CA%D4%2Emov" />
   <embed src="mov%2F%B2%E2%CA%D4%2Emov" type="video/quicktime" autoplay="true" width="420" height="360">
   </embed>
</object> 

  3、要点分析:

  QuickTime 格式的内嵌比较简单,像上面那样写就可以了,基本上没有什么要注意的地方。媒体路径 src 的值,可以是完整地址,也可以是相对地址,可以用 url 编码,也可以不编码,QuickTime 插件和 VLC 插件都能正确的支持,当然为了保险起见,最好还是采用 url 编码方式里写媒体路径。

  虽然 embed 中指定的是 video/quicktime 类型,但是即使链接的媒体是 mp3 仍然能播放。对于 QuickTime 支持的其他类型的没有进行测试,但我想应该也是可以的。

(二)完美内嵌 Flash

  1、客户端要求:

  安装你所使用的浏览器的 Flash 插件。

  2、实现代码:

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="420" height="320">
   <param name="movie" value="flash/打电话记.swf" />
   <param name="quality" value="high" />
   <embed src="flash/打电话记.swf" quality="high" type="application/x-shockwave-flash" width="420" height="320"></embed>
</object> 

  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 就可以做到了。例子如下:

<style type="text/css">
.mozilla {
display:block;
}
</style>
<!--[if IE]>
<style type="text/css">
.mozilla {
display:none;
}
</style>
<![endif]-->

<object 
data="flashdatei.swf" 
type="application/x-shockwave-flash" 
height="275" 
width="256"
class="mozilla">
<param name="autoplay" value="true">
</object>
<!--[if IE]>
<object 
classid="cclsid:D27CDB6E-AE6D-11cf-96B8-444553540000" 
width="256"
height="275">
<param name="src" value=""flashdatei.swf">
</object>
<![endif]-->

  你会发现其实就是把 embed 替换成了 object,而且位置也从 IE 的 object 中移出来了。embed 标签里的 src 属性在 object 中变成了 data 属性。而 firefox 等非 IE 浏览器因为不认识 <!–[if IE]> 标签,所以其中的部分都当作注释忽略了。而 IE 因为执行了 <!–[if IE]> 中的内容,所以 firefox 中可以识别的那个 object 因为 css 被重新定义而被隐藏了。
 
三、如何直接在网页中显示PDF文件2011-06-17 15:52:49

  1、 embed

 <embed width="800" height="600" src="test_pdf.pdf"> </embed>

  通过的浏览器:360、Firefox、IE、Chrome

  2、Object

<object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" width="800" height="600" border="0"> <param name="SRC" value="test_pdf.pdf"> </object> 

  通过的浏览器:360、IE

  未通过的浏览器:Firefox、Chrome

  3、 iFrame框架

<iframe src="test_pdf.pdf" width="800" height="600"></iframe> 

  通过的浏览器:360、Firefox、IE、Chrome

  4、用浏览器直接访问http://127.0.0.1/test_pdf.pdf (其实这个不算是在网页内吧)

  通过的浏览器:360、Firefox、IE、Chrome

  以上四种方式均在WinXP下。(之前有碰到过上传的功能在Win7下失效的情况,故在此说明一下OS)

使用Object、param标签在页面显示PDF文件相关推荐

  1. ASP.NET 用 FlexPaper 在页面上显示 PDF 文件

    必要条件 演示 ASP.NET 用 FlexPaper 在页面上显示 PDF 文件 软件环境 解决方案结构 简单显示 SWF 文件 上传并显示 PDF 文件 常见问题 参考资料 其实,虽说是显示 PD ...

  2. html如何跳转到pdf页面,使用PDF.js在网页显示pdf文件并跳转到指定页码

    最近在做一个土地档案管理系统 ,有个需求是在前端网页展示土地档案扫描件的pdf文件,并根据目录跳转到指定页. 第一个问题,显示pdf文件.引入pdf.js.然后设定html地址,地址为http://l ...

  3. iframe嵌入页面白屏_封闭在家学网页制作!为页面嵌入PDF文件——零基础自学网页制作

    在页面中嵌入PDF文件 在上一篇<在html页面中嵌入其他页面的方法--零基础自学网页制作>(结尾见目录)中我们学习了如何在页面中嵌入其他页面的操作.今天我们来嵌入一个pdf文件. 其实使 ...

  4. 如何在 SAP UI5 应用里显示 PDF 文件试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 本专栏计划的文章数在 300 篇左右,到 2022年12月23日为止,目前已经更新了 155 篇,专栏完成度为 51.6%,完成度已经超过了一半了. ...

  5. PDF.js实现html页面读取pdf文件内容

    项目中遇到要在HTML页面上读取PDF文档的内容,并显示在网页上. pdf.js官网:pdf.js官网 本地附件:pdf.js 一.下载 1.下载至本地 2.创建PDF.js文件夹 并将刚解压的文件放 ...

  6. 为页面嵌入PDF文件—零基础自学网页制作

    在页面中嵌入PDF文件 今天我们来嵌入一个pdf文件. 其实使用<iframe>标签也可以导入pdf标签,就是把pdf文件路径赋予src属性就可以了. 示例代码如下: <body&g ...

  7. 【C# 基础】— 解决 winForm 引用 Adobe PDF Reader控件不显示pdf 文件 问题

    前言 公司的CS 终端需要显示 PDF 文件 ,在换用了"Adobe PDF Reader" 这个控件后,运行程序不报错,窗体控件区显示一片空白,PDF 文件就是不显示,这是怎么回 ...

  8. vue项目读取显示pdf文件

    项目需求:展示pdf条款. 方法的实现:使用 iframe 标签 代码段: 数据 data(){return{detail: [{name: '条款1',to: './public/pdf_tk.pd ...

  9. 【教程】PDF组件Spire.PDF 教程:在C#中显示PDF文件的打印预览

    本文演示如何使用Spire.PDF和c#在Windows窗体应用程序中显示PDF文件的打印预览. 在使用下面的代码之前,我们需要创建一个Windows窗体应用程序,在窗体中添加一个PrintPrevi ...

  10. [html] 如何在页面打开PDF文件?

    [html] 如何在页面打开PDF文件? 移动端如果是安卓的不太能实现直接打开PDF文件,需要使用pdfjs将pdf转换成canvas,再在页面上展示 个人简介 我是歌谣,欢迎和大家一起交流前后端知识 ...

最新文章

  1. 分表分库之一:分布式数据库的常见用法
  2. angular2初入眼帘之-搭个环境
  3. 4.9.3 方法注释
  4. pecl.php.net,WARNING: channel pecl.php.net has updated its protocols, use pecl channel-update pec...
  5. Sklearn-train_test_split随机划分训练集和测试集
  6. 前端学习(573):margin无效情形table无效
  7. 【语言处理与Python】5.7如何确定一个词的分类
  8. 跟小丸子学基础口语16-20
  9. tp5 查询求和_TP5 Or查询的几种方法
  10. 解决: Couldn‘t find meta-data for provider with authority xxx.fileProvider
  11. 数字图像处理技术对军事与公安的帮助
  12. 星际开图挂_《星际争霸2》牛x强力高端职业玩家手把手教你识别开图挂
  13. shell 脚本切换用户执行当前脚本命令
  14. 【网络安全学习实践】Windows系统密码破解防护及用户和组管理
  15. 华硕关闭更新BIOS
  16. 百度语音合成模型Deep Voice3
  17. Hbase学习笔记(概念和搭建)
  18. 民间高手炒股心得(1,2,3,4,5,6,7)_飞天山人_新浪博客
  19. 千字详解:“Java性能调优六大工具”之JConsole工具
  20. 树莓派4b + python3 + pyzbar + opencv + 摄像头 扫描识别二维码(寻找最大的二维码)

热门文章

  1. 单片机c语言曲普两只蝴蝶,51曲谱网_51单片机简谱编码
  2. linux文本编辑器字体大小,怎样将Linux中gcc文本编辑器的字体放大
  3. c语言怎么随机生成迷宫地图,C++实现随机生成迷宫地牢
  4. 在 VSCode 中配置 PHP 开发环境
  5. Go语言编程快速入门
  6. c语言计算题怎么输出答案,C语言练习题答案
  7. 设置eclipse主题风格和取消黑色主题(详细)
  8. java前端向后端传送实体类数据
  9. python中或语句_python判断语句怎么写
  10. Mpass – PHP做Socket服务的解决方案