嵌入* .swf对象:javascript vs xhtml

时间:2011-07-12 22:31:07

标签: javascript xhtml flash

我是网页设计的新手,我一直想知道哪种是嵌入swf对象的现代方式。

我一直在使用以下HTML代码:

<object id="flash1" data="presentacion/prototipe.swf" height="300" type="application/x-shockwave-flash" width="500">
<param name="movie" value="presentacion/prototipe.swf" />
</object>

但是,我注意到有些设计师使用javascript来嵌入swf文件。喜欢这个

<script type="text/javascript">
var flashvars = {
};

var params = {
    menu: "false",
    scale: "noScale",
    allowFullscreen: "true",
    allowScriptAccess: "always",
    allowNetworking: "all",
    bgcolor: "#ffffff",
    base: "swf/"
};
var attributes = {
    id:"flashMovie"
};
swfobject.embedSWF("swf/flash_movie.swf", "flashMovie", "550", "400", "9.0.0", "swf/expressinstall.swf", flashvars, params, attributes);
</script>

似乎两种方式都会产生相同的结果,但是:这些方法的重点是什么? 哪种方法是最新的? 是否存在任何兼容性问题关于网络浏览器?

提前致谢。

3 个答案:

答案 0 :(得分:1)

您想使用SWFObject,因为有些浏览器不支持您提供的HTML代码。

使用SWFObject,因为它将确定哪些方法有效,因此您不必这样做。这样你就不必知道跨浏览器的陷阱。这就是它存在的原因。

答案 1 :(得分:1)

swfobject(javascript)处理浏览器之间的兼容性并防止您的网页无效(这在某些设置中很常见)。

Javascript的不足之处包括你必须加载另一个Javascript文件的请求,你依赖于使用Javascript而你必须等待加载客户端。我认为所有这些都是微不足道的 - 我相信这是最好的方法。

XHTML方法具有相反的优点/缺点,不需要额外的javascript,它可以按W3标准有效(但我相信有一些限制),你必须担心浏览器的兼容性。

答案 2 :(得分:1)

另一个原因是swfobject()解决了Internet Explorer中专利引起的限制 - Microsoft got sued by a troll用于在网页中嵌入动态内容。为了绕过专利,MS在所有嵌入内容(flash,java等等)上添加了“点击激活”功能。 swfobject()实现了变通方法的变通方法,无需点击即可自动激活此内容。

只是展示了愚蠢的软件专利是什么......