如何让Telegram小程序强制以全屏横屏模式运行?
如何让Telegram小程序强制以全屏横屏模式运行?
嘿,这个问题我刚好碰到过,给你说下怎么解决!
你代码里注释掉的tg.lockOrientation()就是解决问题的核心——Telegram Mini App专门提供了这个API来锁定屏幕方向,只是你之前没传对参数而已。
直接可用的修正代码
把注释去掉,给lockOrientation()传入横屏方向的参数,再配合全屏请求就行,调整后的代码是这样的:
let tg = window.Telegram.WebApp; // 锁定为通用横屏模式 tg.lockOrientation('landscape'); // 申请进入全屏状态 tg.requestFullscreen();
更精准的方向控制
如果你不想允许屏幕反转的横屏,只想用设备默认的横屏方向,可以用更具体的参数:
'landscape-primary':设备系统默认的横屏(比如手机右侧带电源键的那种横屏姿态)'landscape-secondary':和默认横屏相反的方向(屏幕倒过来的横屏)
举个只锁定默认横屏的例子:
let tg = window.Telegram.WebApp; tg.lockOrientation('landscape-primary'); tg.requestFullscreen();
几个小提醒
- 一定要确保你用的是最新版的Telegram WebApp JS库,这个方向锁定功能是比较新的,旧版本可能不支持
- 个别设备或系统环境下,可能需要用户主动交互(比如点击“开始游戏”按钮)后再执行这段代码,如果初始化时调用没效果,可以试试把逻辑绑在用户交互事件里
备注:内容来源于stack exchange,提问作者Egor Vostriakov
相关产品推荐
相关产品推荐

