7.3.2 静态嵌入Flash Player

如何使用SWFObject的静态方法嵌入Flash Player内容?

第1步:使用符合标准的代码嵌入Flash内容和备用内容 SWFObject的基本标签使用嵌套对象的方法(用专有IE条件注释),以确保跨浏览器支持,仅针对标签手段进行了优化,作为标准和替代方法。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
  <head>
    <title>SWFObject - step 1`</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  </head>
  <body>
    <div>

      <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="780" height="420">
        <param name="movie" value="myContent.swf" />
        <!--[if !IE]>-->
        <object type="application/x-shockwave-flash" data="myContent.swf" width="780" height="420">
        <!--<![endif]-->
          <p>Alternative content</p>
        <!--[if !IE]>-->
        </object>
        <!--<![endif]-->
      </object>

    </div>
  </body>
</html>

注:嵌套的对象方法需要双重对象定义(外部对象用于Internet Explorer,对象用于所有其他浏览器),您需要定义对象属性和嵌套参数元素两次。

   需要的属性:

  • classid(只用于外层元素,值一直是: clsid:D27CDB6E-AE6D-11cf-96B8-444553540000)
  • type(只用于内层元素,值一直是: application/x-shockwave-flas)
  • data(只用于内层元素,定义swf的路径:data="myContent.swf")
  • width(定义swf的宽度,内外都用到)
  • height(定义swf的高度,内外都用到) 需要的参数:
  • movie(只用于内层元素,定义swf的路径: <param name="movie" value="myContent.swf" />

注意:我们建议您不要使用codebase属性来指向服务器的Adobe Flash插件安装程序的URL,因为这是非法的,他只能访问当前的域。 我们建议在备用内容中添加tips,以便用户获得比下载Flash更好的体验。

怎么使用HTML来配置Flash内容?

你能在标签中加下面的属性:

  • id
  • name
  • class
  • align

可用下面的参数:

  • play
  • loop
  • menu
  • quality
  • scale
  • salign
  • wmode
  • bgcolor
  • base
  • swliveconnect
  • flashvars
  • devicefont (more info)
  • allowscriptaccess (more info here and here)
  • seamlesstabbing (more info)
  • allowfullscreen (more info)
  • allownetworking (more info)

为什么使用替代内容?

  object元素允许您在其中放置替换元素,这些元素在未安装或不支持flash时显示。 他的内容也将被搜索引擎抓取,这是一个创建搜索引擎友好内容的好工具。 总而言之,当您希望您的内容可供没有插件的用户访问时,您应该使用替换内容,这样对搜索引擎友好,而且有访问者的提示,并且可以获得更好的用户体验而不是直接让用户下载插件。

第2步:将JavaScript库引在HTML页面的头部 SWFObject库是一个外部JavaScript文件。 一旦加载完成,SWFObject就会被执行,并且一旦dom元素加载完成,dom就会被执行。 所有浏览器都支持(IE,Firefox,Safari和Opera 9+),onload事件会被触发。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
  <head>
    <title>SWFObject - step 2</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

    <script type="text/javascript" src="swfobject.js"></script>

  </head>
  <body>
    <div>
      <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="780" height="420">
        <param name="movie" value="myContent.swf" />
        <!--[if !IE]>-->
        <object type="application/x-shockwave-flash" data="myContent.swf" width="780" height="420">
        <!--<![endif]-->
          <p>Alternative content</p>
        <!--[if !IE]>-->
        </object>
        <!--<![endif]-->
      </object>
    </div>
  </body>
</html>

步骤3:用SWFObject库注册您的Flash内容,告诉SWFObject做什么

首先添加一个唯一的ID外部对象标签来定义你的Flash内容,第二种方法是添加swfobject.registerObject:

  • 第一个参数(字符串,必需)指定标签中使用的ID。
  • 第二个参数(字符串,必需)指定您的内容分配的Flash版本。它会激活Flash版本检测,以确定是否显示Flash内容或强制通过dom操作显示替换。 Flash的版本号通常由四个部分组成,major.minor.release.build,但SWFObject只识别前三位,所以“WIN 9,0,18,0”(IE)或“Shockwave Flash 9 r18”(其他浏览器)将被翻译为“9.0.18”。如果您只想测试主要版本,则可以省略次要版本号和分发版本号,例如“9”而不是“9.0.0”。
  • 第三个参数,字符串(可选)可用于启动Adobe Express安装程序并指定Quick Install SWF文件的URL。当所需插件版本不可用时,“快速安装”将显示标准的Flash插件下载对话框,以替换您的Flash内容。项目中默认的expressInstall.swf文件被打包在一起。它还包括相应的expressInstall.fla和AS文件(位于src目录中),可让您创建自己的自定义快速安装。

注意,快速安装只会触发一次(他第一次被调用),他只支持在win和mac平台上的Flash Player 6.0.65版本,并且他需要的最小尺寸为310x137px。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">  
  <head>  
    <title>SWFObject v2.0 - step 3</title>  
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />  
    <script type="text/javascript" src="swfobject.js"></script>  

    <script type="text/javascript">  
    swfobject.registerObject("myId", "9.0.0", "expressInstall.swf");   
    </script>  

  </head>  
  <body>  
    <div>  

      <object id="myId" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="780" height="420">  

        <param name="movie" value="myContent.swf" />  
        <!--[if !IE]>-->  
        <object type="application/x-shockwave-flash" data="myContent.swf" width="780" height="420">  
        <!--<![endif]-->  
          <p>Alternative content</p>  
        <!--[if !IE]>-->  
        </object>  
        <!--<![endif]-->  
      </object>  
    </div>  
  </body>  
</html>
  • 第四个参数(js函数,可选)用于定义一个回调函数,可以调用该函数来处理插件创建成功或失败时的情况。
<script type="text/javascript">

  swfobject.registerObject("myId", "9.0.115", "expressInstall.swf");
</script>

小提示: 1.使用SWFObject HTML和JS生成器来帮助你编写代码。 2.反复步骤1和3,可将多个SWF文件嵌入到一个HTML页面中 3.引用活动对象元素的最简单方法是使用JavaScript API:swfobject.getObjectById(objectIdStr)

results matching ""

    No results matching ""