<!DOCTYPE html>
<html>
<head>
<title>flashplay</title>
</head>
<body>
<div id="container"></div>
<script>
//https://github.com/ruffle-rs/ruffle/wiki/Using-Ruffle#configuration-options
// 初始化 Ruffle Player
window.RufflePlayer = window.RufflePlayer || {};
window.RufflePlayer.config = {
// Merge with any existing config, such as the user's extension config. Options you set below will have priority.
...window.RufflePlayer.config,
// Options affecting the whole page
"publicPath": undefined,//一个字符串,由 Ruffle 在初始化时自动设置为包含的任何地方。只有在加载 Ruffle 时遇到问题时才会指定这个选项。请注意,路径不得包含任何文件名。
"polyfills": true,//布尔值,表示 Ruffle 是否应检测 Flash 和标签,并用兼容的 Ruffle 元素替换。如果你用的是Ruffle JavaScript API,那你可能不需要这个。
// Options affecting files only
"allowScriptAccess": false, // 一个布尔值,默认为false,表示电影是否允许通过JavaScript与页面交互,使用名为 的 flash 概念。这功能只应该为你信任的电影开启。注意Flash的选项更为细致;Ruffle和数值分别对应Flash的“永远”和“永远”值。
"autoplay": "on",//一个默认值为“auto”的字符串,表示文件应如何开始播放。可能的数值有auto,off,on
"unmuteOverlay": "hidden",//一个默认值为“可见”的字符串,仅在自动播放为“开启”且用户浏览器不支持音频自动播放时使用。可能的数值有:hidden(隐藏),visible(显示)
"backgroundColor": "#ffff00",//一串控制玩家背景颜色的字符串。该值必须是HTML颜色(例如“#FFFFFF”),因为不允许使用CSS颜色(例如“白色”)。如果未指定,则使用SWF文件的背景色。
"wmode": "transparent",//一串字符串,控制玩家的窗口模式。opaque(不透明)或transparent(透明),Ruffle支持的数值如下。其他所有值(包括默认值“window”)在 Ruffle 中都被视为“不透明”。
"letterbox": "fullscreen",//一个默认值为“全屏”的字符串,用于指示Ruffle应如何处理电影舞台外的区域。可能的数值有:fullscreen,on,off
"warnOnUnsupportedContent": true,//布尔值,表示加载不支持内容的电影时是否会显示带有警告信息的叠加层。撰写本文时,此信息适用于使用 ActionScript 3(运行于 AVM2 上)制作的电影。
"contextMenu": "off",//一个默认值为“开启”的字符串,表示右键点击或在触摸设备上长按Ruffle实例时是否应显示上下文菜单。可能的数值有:on,off,rightClickOnly(移动端不显示)
"showSwfDownload": false,//一个布尔值,表示是否在右键菜单中显示下载已加载电影的选项。
"upgradeToHttps": window.location.protocol === "https:",//一个布尔值,表示内部文件是否应始终通过HTTPS协议加载。由于该选项旨在防止跨域问题,这意味着所有使用HTTP协议的绝对URL都会升级为HTTPS。
"maxExecutionDuration": 15,//数字,允许脚本超时配置。
"logLevel": "error",//一个默认值为“error”的字符串,表示浏览器控制台内的日志级别。可能的值有:“错误”、“警告”、“信息”、“调试”和“追踪”。"error", "warn", "info", "debug" and "trace".
"base": null,//一个字符串,指定用于解析 SWF 文件中所有相对路径语句的基础目录或 URL。当你的 Flash 文件与网页分开存放时,这很有帮助。
"menu": true,//一个布尔值,默认为true,说明了电影播放控制是否可在上下文菜单中使用。
"salign": "",//一个默认值为“”的字符串。它控制电影在缩放填满视口后的位置,并根据需要裁剪。默认对齐为居中。T、L、B和R分别代表上、左、下和右。技术上可以是任意数量的T、L、B和R,顺序任意,但逻辑选择是“”“、”T“、”L“、”B“、”R“、”TL“/”LT“、”TR“/”RT“、”BL“/”LB“或”BR“/”RB“。如果你使用某种奇怪的组合同时包含T和B,或者同时包含L和R,请记住优先顺序是L>R>”“,T>B>”“”。
"forceAlign": false,//一个布尔值,默认为false,当设置为true时,电影无法更改舞台对齐(salign)
"scale": "showAll",//一个默认值为“showAll”的字符串。这个控制是电影的初始舞台比例模式。选项有:showAll,noborder,exactfit,noscale
"forceScale": false,//一个布尔值,默认是false,当设置为true时,电影无法更改舞台比例模式。
"frameRate": null,//这是一个可以用来强制玩家以特定帧率运行的数字,覆盖电影的帧率。
"quality": "high",//一个默认值为“high”的字符串。影响Ruffle中的MSAA(除使用备份渲染的低端设备外)。主要选项有:low,medium,high,best
"splashScreen": false,//一个布尔值表示是否显示内置的 Ruffle 启动画面。当设置为false时,闪光动画的区域将保持空白,直到wasm和swf准备好用Ruffle显示。
"preferredRenderer": null,
"openUrlMode": "allow",//一个默认值为“allow”的字符串,控制Flash内容尝试打开网页链接时的处理。可能的数值如下:allow,confirm,deny
"allowNetworking": "all",//一个默认值为“all”的字符串,可以用来限制Flash内容访问某些网络API。目前在 Ruffle 中,“内部”和“无”这两个值的行为完全相同,仅禁止使用 (AS2)、(AS3)和 (AS2/AS3)。getURL()navigateToURL()ExternalInterface.call()
"favorFlash": true,//一个默认值为 true 的布尔值表示如果用户浏览器安装了真实的 Adobe Flash Player 插件,是否跳过多填充 Flash 嵌入。
"socketProxy": [],
"fontSources": [],
"defaultFonts": {},
"credentialAllowList": [],
"playerRuntime": "flashPlayer",//一个默认值为“flashPlayer”的字符串,表示你希望 Ruffle 模拟哪个运行时。选项包括:flashPlayer,air
"allowFullscreen":true,//一个布尔值,默认为false,允许在true时更改舞台的显示状态。对应嵌入/对象属性allowFullScreen。
"fullScreenAspectRatio": "",// 一个字符串,默认“”,可能的值为“竖屏”、“横向”或“任意”。"portrait", "landscape", or "any".
};
window.addEventListener("DOMContentLoaded", () => {
const ruffle = window.RufflePlayer.newest();
const player = ruffle.createPlayer();
player.style.width="98vw";
player.style.height="98vh";
const container = document.getElementById("container");
container.appendChild(player);
player.load("1.swf"); // 替换为你的SWF文件路径
});
</script>
<!-- 在页面底部引入 ruffle.js -->
<script src="ruffle.js"></script>
</body>
</html>