标题: Flash走了,Flash又来了——试用Ruffle,基于WebAssembly的网页版Flash播放器(纯Web应用,无需插件)
时间: 2021-02-11发布,2021-02-11修改
项目官网:https://ruffle.rs/
演示地址:https://ruffle.rs/demo/
使用方法参考:
下载这个swf:黄金矿工.swf(114.64 KB)
打开 https://ruffle.rs/demo/ 把swf上传上去
开玩:
『回复列表(12|隐藏机器人聊天)』
Ruffle也可以通过js加载到网页中,让原本需要Flash插件才能播放的页面免插件播放,所以它当然也可以做为浏览器插件来加载,取代原来 Flash Player 的功能。
Ruffle确实推出了火狐和Chrome版插件,可以在这里下载:
加载到Chrome中
部分Flash内容就可以正常运行了,比如:
http://www.7k7k.com/swf/14620.htm
但是某些Flash内容还是运行不了,那是因为存在同源策略(CORS)问题。Flash Player加载swf时没有同源策略要求,但通过WebAssembly重新实现时,就有了该要求。
(备注:下图中的网站开了CORS跨域插件也玩不了这个游戏,因为他们把swf文件删了,404了。我只是拿它的报错做个例子)
解决方法也很简单,装一个CORS跨域插件就可以了,比如“Allow CORS: Access-Control-Allow-Origin”:
注意:开启CORS跨域插件会带来严重的安全问题,开启后任何网站都可以仿冒你在你已经登陆的其他网站执行任何操作,所以请在体验完Flash内容后立即关闭,平常绝对不应该打开。此外很多网站的swf文件和网页在同一个域名,不需要开跨域插件也能加载。
注意,目前只有部分Flash游戏能玩。Ruffle并没有实现所有的Flash功能。使用ActionScript 3的游戏基本上都不能运行,使用ActionScript 1和ActionScript2的游戏应该可以运行,但不保证功能正常。他们还在积极开发中,最后结果应该会不错。
详见:https://ruffle.rs/#compatibility
此外Ruffle的FAQ也向我们推荐了一些其他支持Flash的开源项目:
https://github.com/ruffle-rs/ruffle/wiki/Frequently-Asked-Questions-For-Users
从2018年初开始,Flashpoint已保存了在20个不同平台上的70,000多个游戏和8,000多个动画。
https://bluemaxima.org/flashpoint/
LightSpark是另一个开源Flash播放器