使用Object、param标签在页面显示PDF文件
原文地址
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 |
|
定义围绕该对象的文本对齐方式。 | 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"> <object |
你会发现其实就是把 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文件相关推荐
- ASP.NET 用 FlexPaper 在页面上显示 PDF 文件
必要条件 演示 ASP.NET 用 FlexPaper 在页面上显示 PDF 文件 软件环境 解决方案结构 简单显示 SWF 文件 上传并显示 PDF 文件 常见问题 参考资料 其实,虽说是显示 PD ...
- html如何跳转到pdf页面,使用PDF.js在网页显示pdf文件并跳转到指定页码
最近在做一个土地档案管理系统 ,有个需求是在前端网页展示土地档案扫描件的pdf文件,并根据目录跳转到指定页. 第一个问题,显示pdf文件.引入pdf.js.然后设定html地址,地址为http://l ...
- iframe嵌入页面白屏_封闭在家学网页制作!为页面嵌入PDF文件——零基础自学网页制作
在页面中嵌入PDF文件 在上一篇<在html页面中嵌入其他页面的方法--零基础自学网页制作>(结尾见目录)中我们学习了如何在页面中嵌入其他页面的操作.今天我们来嵌入一个pdf文件. 其实使 ...
- 如何在 SAP UI5 应用里显示 PDF 文件试读版
一套适合 SAP UI5 初学者循序渐进的学习教程 本专栏计划的文章数在 300 篇左右,到 2022年12月23日为止,目前已经更新了 155 篇,专栏完成度为 51.6%,完成度已经超过了一半了. ...
- PDF.js实现html页面读取pdf文件内容
项目中遇到要在HTML页面上读取PDF文档的内容,并显示在网页上. pdf.js官网:pdf.js官网 本地附件:pdf.js 一.下载 1.下载至本地 2.创建PDF.js文件夹 并将刚解压的文件放 ...
- 为页面嵌入PDF文件—零基础自学网页制作
在页面中嵌入PDF文件 今天我们来嵌入一个pdf文件. 其实使用<iframe>标签也可以导入pdf标签,就是把pdf文件路径赋予src属性就可以了. 示例代码如下: <body&g ...
- 【C# 基础】— 解决 winForm 引用 Adobe PDF Reader控件不显示pdf 文件 问题
前言 公司的CS 终端需要显示 PDF 文件 ,在换用了"Adobe PDF Reader" 这个控件后,运行程序不报错,窗体控件区显示一片空白,PDF 文件就是不显示,这是怎么回 ...
- vue项目读取显示pdf文件
项目需求:展示pdf条款. 方法的实现:使用 iframe 标签 代码段: 数据 data(){return{detail: [{name: '条款1',to: './public/pdf_tk.pd ...
- 【教程】PDF组件Spire.PDF 教程:在C#中显示PDF文件的打印预览
本文演示如何使用Spire.PDF和c#在Windows窗体应用程序中显示PDF文件的打印预览. 在使用下面的代码之前,我们需要创建一个Windows窗体应用程序,在窗体中添加一个PrintPrevi ...
- [html] 如何在页面打开PDF文件?
[html] 如何在页面打开PDF文件? 移动端如果是安卓的不太能实现直接打开PDF文件,需要使用pdfjs将pdf转换成canvas,再在页面上展示 个人简介 我是歌谣,欢迎和大家一起交流前后端知识 ...
最新文章
- 分表分库之一:分布式数据库的常见用法
- angular2初入眼帘之-搭个环境
- 4.9.3 方法注释
- pecl.php.net,WARNING: channel pecl.php.net has updated its protocols, use pecl channel-update pec...
- Sklearn-train_test_split随机划分训练集和测试集
- 前端学习(573):margin无效情形table无效
- 【语言处理与Python】5.7如何确定一个词的分类
- 跟小丸子学基础口语16-20
- tp5 查询求和_TP5 Or查询的几种方法
- 解决: Couldn‘t find meta-data for provider with authority xxx.fileProvider
- 数字图像处理技术对军事与公安的帮助
- 星际开图挂_《星际争霸2》牛x强力高端职业玩家手把手教你识别开图挂
- shell 脚本切换用户执行当前脚本命令
- 【网络安全学习实践】Windows系统密码破解防护及用户和组管理
- 华硕关闭更新BIOS
- 百度语音合成模型Deep Voice3
- Hbase学习笔记(概念和搭建)
- 民间高手炒股心得(1,2,3,4,5,6,7)_飞天山人_新浪博客
- 千字详解:“Java性能调优六大工具”之JConsole工具
- 树莓派4b + python3 + pyzbar + opencv + 摄像头 扫描识别二维码(寻找最大的二维码)