异想天开

What's the true meaning of light, Could you tell me why

页面嵌入swf及pdf

日期:2014-10-29 15:54:31
  
最后更新日期:2014-11-03 15:28:36
【技术】
object 标签用于包含对象,比如图像、音频、视频、Java applets、ActiveX、PDF 以及 Flash。更详细的介绍见w3cschool。 1.嵌入swf
IE浏览器直接通过type指定MIME 类型,参考1说有bug,需要等影片全部下载完后,才能继续播放。解决方法,就是条件注释代码,类似于c++的预编译宏。
[code lang="cpp"]
<div>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="780" height="420">
<param name="movie" value="Demo.swf" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="PeerToPeerDisabledDemo.swf" width="780" height="420">
<!--<![endif]-->
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
</div>
[/code]
注释:
a.在IE 11下,这种 if IE的写法其实并不兼容的。看样子,还是使用传统写法:
[code lang="cpp"]
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="550" height="400" id="Untitled-1" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="mymovie.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<embed src="mymovie.swf" quality="high" bgcolor="#ffffff" width="550" height="400" name="mymovie" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
[/code]
发现在IE 11下,起作用的是embed标签。幸亏,不接触前端的,所以不要处理这么多蛋疼的兼容性。为了针对这种兼容性,网上有个开源的swfobject库。的确比这样写方便多了。
b.笔者做的有限测试,IE6,IE11,chrome,firefox都支持,下面这种写法:
[code lang="cpp"]
<div>
<object width="800" height="800" data="Demo.swf"></object>
</div>
[/code]

2.嵌入pdf
[code lang="cpp"]
<div>
<iframe src="test.pdf" width="800" height="3000"></iframe>
</div>
[/code]
测试这种写法基本都兼容。
参考1:
1.http://blog.csdn.net/tanguang_honesty/article/details/8530731
2.http://blog.chinaunix.net/uid-122937-id-143240.html
3.http://www.admin10000.com/Document/5.html