Swiffy转换错误(Flash到HTML5)

时间:2011-10-14 10:07:59

标签: html5 canvas google-swiffy

我已使用Google Swiffy将Flash SWF文件转换为HTML5。

这在Firefox中运行良好。

然而,在IE8中,我收到了这些错误:

'swiffy'未定义

'stage'为null或不是对象

在IE中,如果您访问Google Swiffy图库部分(http://www.google.com/doubleclick/studio/swiffy/gallery.html),然后点击任何示例,您将收到类似的错误(或者,至少我会这样做)。所以这可能是一个现存的问题。

我还会与Google联系,看看是否有解决此问题的方法。

这是代码的片段。

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Swiffy output</title>
<script src="http://www.gstatic.com/swiffy/v3.5/runtime.js"></script>
<script>swiffyobject = {"tags":
[{"id":1,"height":194,"width":609,"data":"data:image/jpeg;
base64,/9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkS

...there's a lot of converted code, most of it looks like the gibberish above...

</script>
</head>
<body style="overflow:hidden;margin:0;">

<script>var stage = new swiffy.Stage(document.body, swiffyobject);</script>
<script>stage.start();</script>

</body>
</html>

我确实开始使用Canvas自己编码来转换Flash文件。我可能会继续它。我只是按时间完成这项工作,并希望解决这些错误。

感谢。

斯蒂芬

(顺便说一句,我可以附加文件吗?代码真的很长。)

3 个答案:

答案 0 :(得分:3)

这是因为IE8不支持HTML5 Canvas

您可以使用excanvas库,但动画很糟糕。 excanvas使用VML模拟画布命令并假装它在IE7 / 8上运行

excanvas自2009年以来一直没有更新,如果你想使用Canvas,我真的建议不要支持IE8。 SVG / VML解决方案可能会更好,具体取决于您正在做什么。

答案 1 :(得分:1)

这是解决方案: 下载swfobject.js并将此文件保存在“脚本”文件夹中。

将此代码放在标题部分:

<script type="text/javascript" src="http://www.mysite.com/scripts/swfobject.js"></script>

在swiffy文件中放这个(吼叫swiffy脚本):

<script type="text/javascript">swfobject.embedSWF("http://www.mysite.com/flash_files/myflash.swf", "swiffycontainer", "638", "500", "8.0.0", "myflash.swf", {}, {menu:"false", scale:"noscale", wmode:"transparent"}, {} ); </script>

答案 2 :(得分:1)

以上(使用swfobject.js)是一个很好的解决方案! 基本上在Flash支持的环境中使用swf,在其他情况下使用HTML后备。