安装后怎么确认 Ruffle 真的生效了
三个方向的验证完全不一样
桌面版、浏览器扩展、网站嵌入这三种形态的生效表现各不相同,不要用同一种方法去验另外一种。
桌面版验证
- 双击
ruffle.exe,窗口标题栏应该显示Ruffle加当前打开的文件名(没打开文件时就是空的) - 随便找一个 .swf 文件(比如去 Internet Archive 的 Flash 存档挑一个),拖进窗口或者用菜单「文件 → 打开」
- 如果画面出现了、动画动起来了——Ruffle 生效。如果画面是白的、全黑、或者崩溃,说明这个 SWF 用了 Ruffle 还没实现的特性,或者 SWF 本身损坏
- 想诊断,可以在命令行里加
--verbose参数启动:ruffle.exe --verbose game.swf,控制台会打印每一步加载日志
浏览器扩展验证
最可靠的验证方式:访问一个仍在使用旧 Flash 标签的老网站(比如 Internet Archive 的 Flash 游戏存档 flash-game-archive 或 Newgrounds 的 Flash 存档分类)。
- 扩展开启、且检测到旧 Flash 标签时,页面上会出现 Ruffle 的加载指示器
- Chrome 地址栏右侧的扩展图标点击后可以看到当前页面上 Ruffle 替换了多少个元素
- 如果页面还是「请安装 Flash Player」那种提示,要么这个网站的 Flash 标签写法特别绕(扩展没识别出来),要么你没把扩展正确启用
网站嵌入验证(站长)
在你嵌了 <script src="https://unpkg.com/@ruffle-rs/ruffle"></script> 的页面上按 F12 打开开发者工具:
- Console 里应该没有加载失败的红色报错
- DOM 里原来的
<object>/<embed>应该已经被 Ruffle 替换成<div id="ruffle-player-xxx"> - Network 面板里应该能看到
unpkg.com/@ruffle-rs/ruffle的脚本被加载(200 OK) - 还能在 Console 里直接敲
window.RufflePlayer,应该能看到一个包含config、newest()、createPlayer()的对象——没有的话说明脚本没加载成功
官方 Demo 页(通用验证)
ruffle.rs/demo 永远是最新版本的基准测试场。它内置了一组官方挑选的 SWF 样本(Alien Hominid、FlyGuy、Marvin Spectrum 等):
- 如果 demo 页里的 SWF 都能正常跑,说明你的 Ruffle 安装没问题
- 如果 demo 页都打不开,说明是环境问题(浏览器版本过老 / WebAssembly 被禁用 / 公司网络拦截 CDN)
- 如果 demo 能跑但你的 SWF 不能跑,说明问题在那个具体 SWF 上
验完了怎么办
如果验证不通过,先翻「常见问题排查」分组。如果排查完还是不行,可以在 GitHub Issue Tracker 上开一个新 Issue,附上:Ruffle 版本号(稳定版还是 nightly)、浏览器 / 系统版本、出问题的 SWF(或链接)、以及 --verbose 的日志片段。