对应示例数据库,完全开放可复制:
开启方式
更新代码至最新的4.4.1;并配置主题为game即可。
Game 主题概要
特色:
1.最近访问
顶栏会记录最近访问的页面,该数据存在浏览器的localstorage中
2.数据库Ext字段
数据库新增字段ext,用来存放一些扩展的字段功能。
用json-string格式存放game的详细配置(游戏地址与预览视频)例如以下json:
href是游戏播放的地址;video是鼠标悬停在游戏封面上的预览视频。
3.游戏内嵌功能
href默认填写外部地址,例如 “https://unblocked-games.s3.amazonaws.com/games/2023/q/1/tap-tap-shots/index.html” 就是一个可以直接嵌入的在线游戏地址。
为什么我的示例数据库中href是 /games-external/common/index.htm?n=https://unblocked-games.s3.amazonaws.com/games/2023/q/1/tap-tap-shots/index.html 这个格式呢?
/games-external/common/index.htm?n= 这一串代表什么?
games-external 组件
我在项目的 /public/games-external/common/index.htm 中加入了一个装饰脚本页面,
访问此页面时加载路径中的 ?n=[外部域名] 会被当做一个iframe嵌入到页面中。通过装饰脚本页面的方式引入外部链接,可以方便后续扩展做一些定制化与检测的功能。
直接访问
[站点]/games-external/common/index.htm?n=[一个域名] ,可以直接将一个外部网址当做iframe嵌入到项目。例如
https://games.tangly1024.com/games-external/common/index.htm?n=https://www.tangly1024.com ,就是将 www.tangly1024.com这个网页当做iframe嵌入。
目前该脚本页面的唯一功能是:向嵌入的iframe添加了一个toggleFullscreen() 函数,便于我在NotionNext的文章详情页可以直接调用iframe的全屏功能:
详情可以在源码中找到。
嵌入iframe相关源码
4. 支持保存到桌面快捷方式
采用渐进式WEB应用,PWA的方式,点击浏览器地址栏右侧的安装按钮,即可添加到桌面快捷方式,一键启动。
关于游戏
游戏来源
游戏主要来源于 crazygames , poki , gameis 和 iogames、regtrogames.cc 这些网站,更多游戏网站可以通过similarweb查找对标。
游戏推荐