最近发现我们用telegram bot打开一个web App
的时候,容易误点到屏幕左上角的取消
按钮,希望这个时候能够弹出一个2次确认弹窗。
(adsbygoogle = window.adsbygoogle || []).push({});
想法与踩坑
刚开我以为是在bot机器人代码中实现这个功能,如果各种网上找,不断的问chatGPT,但是chatGPT给出的一些代码都没有解决这个问题。最后还是在TON心粉群聊
里一个大佬指出在开发文档的SDK中有说明。如是自己跑去看了下SDK的源代码,发现确实有。
SDK源代码链接SDK源代码链接
感悟: 还是要多看看开发文档和API
实现
看了之后发现这个并不是在bot机器人中设定的,而是在你的h5代码中设定,之前就完全走错了方向。
比较简单,设置isClosingConfirmationEnabled
参数值为true
即可。
步骤:
1、在你html代码的<head>
中加入tg的引用<script src="https://telegram.org/js/telegram-web-app.js"></script>
2、这时你在<script>
中就可以使用window.Telegram.WebApp
了,在<script>
中添加下面代码:
const tg = window.Telegram.WebApp;
tg.isClosingConfirmationEnabled = true;
这样就ok啦,打开机器人,加载webapp,点击取消
按钮,这个时候就可以看到屏幕底部弹出了一个2次弹窗,如下图:
`示例图