3

我通常将 embed 用于 Flash 文件,但我对使用 SwfObject 很感兴趣。问题是,我必须在我的网页头上写这个​​吗?

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

或者我可以简单地使用这个:

        <object id="myId" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="300" height="120">
            <param name="movie" value="test.swf" />
        <!--[if !IE]>-->
            <object type="application/x-shockwave-flash" data="test.swf" width="300" height="120">
            <!--<![endif]-->
            <div>
                <h1>Alternative content</h1>
                <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>
            </div>
            <!--[if !IE]>-->
            </object>
            <!--<![endif]-->
        </object>

另一个问题,classid是什么意思?我必须提供这个值吗?

谢谢

4

2 回答 2

1

swfobject.registerSWF仅在两个用例中需要:

  1. 如果您想使用快速安装
  2. 如果您想要求用户在尝试查看您的 SWF 之前拥有最低版本的 Flash Player。

如果这些情况都不适用于您,您可以简单地将<object>元素放入您的标记中,就像您在上面所写的那样。

如果您决定使用swfobject.registerSWF,则应<head>在导入 SWFObject JavaScript 文件后将其放置在您的文档中。请参阅官方文档learnswfobject.com中的示例。

关于classid,它适用于Internet Explorer。外部<object>适用于 IE,而内部<object>适用于几乎所有其他浏览器。它们需要截然不同的语法。classid 值永远不会改变。如果您不想担心,请使用 SWFObject 标记生成器为您生成代码:http: //www.bobbyvandersluis.com/swfobject/generator/index.htmlhttp://learnswfobject.com/generator /

于 2012-08-28T15:42:41.877 回答
0

对于你的第一个问题:不!您必须在<object id="myId"></object>呈现 html 元素后编写,因为此 javascript 将在第一时间执行。

第二个问题:这是注册表中的一个条目,其中可以找到有关 swf 插件的一些信息。您需要 InternetExplorer 和 Windows 下的类似功能。

于 2012-08-28T09:16:39.030 回答