Ошибка преобразования Swiffy (Flash в HTML5) - PullRequest
6 голосов
/ 14 октября 2011

Я конвертировал Flash SWF-файл в HTML5 с помощью Google Swiffy.

Это прекрасно работает в 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>

Я начал преобразовывать файл Flash, кодируя его сам с помощью Canvas. Вероятно, я продолжу его. Меня просто нажали длявремя, чтобы сделать это, и хотел бы, чтобы эти ошибки были устранены.

Спасибо.

Стивен

(Кстати, я могу прикрепить файл? Код действительно длинный.)

Ответы [ 3 ]

3 голосов
/ 08 февраля 2012

Это потому, что HTML5 Canvas не поддерживается в IE8

Вы можете использовать библиотеку excanvas , но это ужасно с анимацией. excanvas использует VML для эмуляции команд canvas и делает вид, что работает на IE7 / 8

excanvas не обновлялся с 2009 года, и я настоятельно рекомендую не поддерживать IE8, если вы хотите использовать Canvas. Возможно, решение SVG / VML будет лучше, в зависимости от того, что вы делаете.

1 голос
/ 21 июня 2013

Вышесказанное (с использованием swfobject.js) является хорошим решением!В основном используйте swf во Flash, который поддерживает env и отступление HTML в случае других.

1 голос
/ 05 апреля 2013

Это решение: Загрузите файл swfobject.js и сохраните этот файл в папке «scripts».

Поместите этот код в заголовок раздела:

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

в файле 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>
...