Swiffy转换错误(Flash转HTML5)

6

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

在Firefox中,这很好用。

然而,在IE8中,我收到了以下错误:

'swiffy'未定义

'stage'为空或不是对象

如果在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文件转换。我可能会继续这样做。只是为了赶时间,我希望能解决这些错误。

谢谢。

Stephen

(顺便问一下,我可以附加一个文件吗?代码非常长。)

3个回答

3
这是因为IE8不支持HTML5 Canvas。
你可以使用excanvas库,但它在动画方面表现不佳。excanvas使用VML来模拟Canvas命令,并假装在IE7/8上运行。
自2009年以来,excanvas没有更新,如果想使用Canvas,我真的不建议支持IE8。根据你的需求,可能会有更好的SVG/VML解决方案。

1
这是解决方案: 下载swfobject.js并将其保存在“scripts”文件夹中。
将此代码放入头部部分:
<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>

我去年已经完成了这个项目,没有文件可以使用了。虽然很想尝试这个解决方案,还是感谢你的建议。 - Stephen

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

你只有获得足够的声望后才能对答案进行评论 :-) - kleopatra

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接