swf使用flash的替换方案

业务背景

公司一些老应用中使用到flash来播放一些swf的动画,但是目前大多浏览器已经不再支持flash了。于是找寻flash的替代品

腾讯产品 Fanvas

Fanvas是一个把swf转为html5 canvas动画的系统,由两部分组成:Actionscript实现的解析器、js运行库。

github地址: https://github.com/Tencent/Fanvas/

Fanvas的优势?

1、从swf文件直接转化为Html5动画(google的swiffy和adobe的flashcc都不支持,两个产品都需要通过fla源文件处理);

2、精简编排的JSON数据,使swf转化后的js数据文件非常小,普遍比flashcc导出的要小20%到50%;

3、精简的运行库,混淆后只有35k,gzip后只有10k左右。而swiffy和flashcc的运行库混淆后都超过100K;

4、开源,可供使用者二次开发(请保留Fanvas字样或版权声明)。

使用

首先下载Fanvas项目

1.启动fanvas.swf程序,具体方法:先打开flashplayer_14_sa_debug.exe,拖入fanvas.swf
2.导入swf,导出data.js。该data.js代表了swf的数据。如果swf中有位图,将导出一个zip包,包含图片和js,不要修改图片名称,把图片部署到html同一层目录或者某个相对路径/绝对路径。
3.在目标网页中建一个canvas标签,设置canvas的宽高(可以跟原swf不一样,fanvas将拉伸显示)。或者直接把导出的文件覆盖到demo目录中,然后4.打开index即可。
引入fanvas-min.js,data.js,等dom完成后,调用fanvas.play即可。

demo

<!DOCTYPE html>
<HTML>
<HEAD>
<TITLE> New Document </TITLE></HEAD><BODY onload="init();">
<canvas width="992" height="567" id="testCanvas"></canvas>
<script type='text/javascript' src='./js_images/fanvas3-min.js'></script>
<script type='text/javascript' src='./js_images/swfData.js'></script>
<script>function init() {fanvas.play("testCanvas", swfData, {cache: false, autoPlay: true,onFrame: function (index) {//                    console.log("onFrame", index);
//                    if(index == 10){//                        fanvas.pause("testCanvas");
//                        setTimeout(function(){                            fanvas.resume("testCanvas");
//                            fanvas.replay("testCanvas");
//                        }, 2000);
//                    }},imagePath: "./"});}
</script>
</BODY>
</HTML>

swf使用flash的替换方案相关推荐

  1. flash插件替换方案-把uploadfy替换为uploadfive

    flash插件替换方案-把uploadfy替换为uploadfive 前言 其他处理方法 前期准备 程序代码 结语 前言 由于各大浏览器纷纷宣布不再支撑Flash插件,尤其提下Chrome,Chrom ...

  2. 网页中嵌入flash的最佳方案

    http://solomon.athost.net/?p=549 网页中嵌入flash的最佳方案 各种浏览器差异悬殊,开发者应如何在网页中嵌入flash才是最佳方案?本文介绍的原理亦被应用在swfob ...

  3. 纯FLASH网站SEO方案

    纯FLASH网站SEO方案 一般来说,普通的资讯站,或者文字内容多些的网站,优化起来都比较容易,因为这类文章相对来说对搜索比较友好,从搜索角度看,比较有内容.但目前仍然有许多企业网站,这类网站有个特点 ...

  4. Ubuntu20.04下面运行applet与freemind部署到web上(调研+找到替换方案)

    环境 Ubuntu 20.04 JDK 1.8 freemind 1.0.1 -------------------------------------------------- Reference里 ...

  5. FT60F011A包含1Krom+EEPROM+Flash单片机IC方案开发

    FT60F011A包含1Krom+EEPROM+Flash单片机IC方案开发 FT60F011A,可以烧录,编带等 特性 l 全自我知识产权8位指令集 l 8层10bit硬件堆栈 l 1Kx14b程序 ...

  6. scipy.misc.imresize的替换方案

    错误提示 当scipy版本>=1.3.0时,导入scipy.misc.imresize会出现如下错误 AttributeError: module 'scipy.misc' has no att ...

  7. 微信小程序 没有blob 对象的替换方案

    files: ( binary) 是Blob传参标志. blob LOB(Large Objects大对象),用来存储大量的二进制和文本数据的一种数据类型 . 注意点: 微信小程序中没有blob对象. ...

  8. SimpleDateFormat替换方案

    SimpleDateFormat替换方案 由于SimpleDateFormat是线程不安全的,在多线程环境中使用会出现安全问题,因此不推荐使用.可以使用apache提供的线程安全工具类替换,需要引入c ...

  9. flash芯片替换SAMSUNG K9K8G08U0E替换K9K8G08U0B

    首先拜谢一下这几位作者 具体解决办法 http://www.61ic.com/Article/DaVinci/TMS320DM3x/201307/49496.html 遇到类似问题 K9K8G08U0 ...

最新文章

  1. cocos2dx 3.3创建新项目 和 VS2012解决方案加载失败问题
  2. Flash,一次Bug的思考
  3. eui加载时间长_游戏加载时间越来越短了?背后藏着这些小心机
  4. python自增_Python的自增运算与Python变量的浅析
  5. 代码意识流——花朵数问题(七)
  6. python3网络编程传输图片_python实现同一局域网下传输图片
  7. oracle浅析导致数据库性能问题的常见原因
  8. 玩转JavaScript OOP[0]——基础类型
  9. python如何移动文件却不覆盖现有文件_在python中创建新文件,不要覆盖现有文件...
  10. 天气预测频繁2项集_寻攻略 | 天气不似预期?我从来没在怕的
  11. 医疗健康APP的开发和设计
  12. python之常用内置函数(zip和sum)
  13. 心理学经典理论与著作
  14. Hive学习(待续)
  15. 动画效果库 animate
  16. 微信公众号怎么添加附件?
  17. 一种无监督人脸聚类方法(SOTA效果)
  18. SEEK学习论坛-JavaWeb开发实训课题 (数据库MySQL+js+Ajax+Servlet)
  19. 万物皆可AI,狗狗也不例外
  20. 计算机发展趋势起点,2020年烟台市中考芝罘、莱山、高新、牟平四区结果浅析...

热门文章

  1. android setdata方法,Android intent.setData方法
  2. 键盘的扫描码Scan Code,通码Make code,断码Break Code
  3. 安卓 PopupWindow
  4. 【openCV边缘检测】用传统方法实现边缘检测(二)色彩空间
  5. 以下面四个在读写器作用范围内的电子标签为例说明二进制树型搜索算法选择电子标签的迭代过程。假设这四个电子标签的序列号分别为:
  6. excel熵值法计算权重_SPSS主成分分析 | 指标权重值计算真的不难!(上)
  7. 通过pdfjs-dist批量渲染在页面渲染pdf
  8. vivado安装“Generating installed device list”问题
  9. 二、Ubuntu16.04安装搜狗wps
  10. 青年时代历练和职业发展