Все мы знаем что Apple не дружит с Adobe и Flash не собирается давать поддерживать Flash на iPhone и iPad.Все было бы плохо если бы истинные хакеры спасают положение.  Проект Smokescreen от Криса Смоака (Chris Smoak) призван решить проблему работы Flash’а на устройствах без оного. Пока проект очень молодой но уже сейчас результаты впечатляют. Smokescreen представляет из себя js-скрипт который проигрывает swf файл. Работает не на всех браузерах  - а только на относительно современных. Но главное что он работает на MobileSafari (медленно но работает) а этот браузер работает на iPhone , iPad , iPod .

Результаты совместимости браузеров по версии разработчиков такие:

  • Firefox 3.6 на Mac/Win7 – работает
  • Safari 4.0.5 на Mac/Win7 – работает
  • Chrome 5 beta на Mac/Win7 – работает
  • iPhone OS 3.x on iPad/iPhone/iPod Touch — Flash не запустился , Smokescreen работает медленно
  • Opera 10.53 on Mac/Win7 — Flash запустился, Smokescreen не работает
  • ≤IE8 on Win — Flash запустился, Smokescreen не работает
  • IE9 on Win7 — Flash запустился, Smokescreen не работает

От себя добавлю что на эмуляторе iPhone –  у меня тоже запустилось все , но медленно =) На эмуляторе мобильной оперы запустилось но нечего не показало =( .

Видео от разработчика как он проигрывает flash на iPad можно посмотреть здесь . Скрипт весит около 180 кб что гораздо меньше чем flash player.Абсолютно автономный не требует сторонних сервисов (как он выдергивает музыку из Flash’а). Собственно Smokescreen  транслирует SWF файл в Javascript/SVG/HTML5  и воспроизводит ,так же в нем присутствует простейшей интерпретатор байткода ActionScript.Все конечно хорошо но не все флешки пойду на этом скрипте а только некоторые =( . И пока не ясна какая лицензия будет у скрипта , но разработчик обещает лицензию опенсурцовую =)Скрипт пока не понятно где качать – можно выколупать из официльного сайта .

js-Код который запускает флешки такой:

<script type="text/javascript" src="js/smokescreen.0.1.3-min.js"></script>
<script>
function urlParam(name, _default) {
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]")
var regexS = "[\\?&]" + name + "=([^&#]*)"
var regex = new RegExp(regexS)
var results = regex.exec(window.location.href)
if (results == null) {
return _default
}
else {
return results[1]
}
}
function embed(container) {
var url = 'swf/smokescreen-intro.swf'
var element = document.getElementById(container)
var size = urlParam('size', 1)
var width = 550 * size
var height = 400 * size
var name = 'ss-intro'
var params = {}
new Smokescreen(url, element, width, height, name, params)
}
</script>
</head>
<div id="fljs">
No Smokescreen :(
</div>
<script>

embed('fljs')

</script>
<script>

Тырить скрипт smokescreen.0.1.3-min.js: Здесь;  Оф сайт: smokescreen.us/

Реклама: Каждому сталкеру нужен радиометр дозиметр