Telegram Web App Bot,在android上重定向到新页面时出错



我不能重定向用户在新的页面与javascript变体代码:

  • window.location.href=url
  • window.location.replace (url)
  • window.location.assign (url)

重定向的问题只在android上,在其他平台上没有问题,去另一个页面。如何在android上修复它?

视图问题:当转到任何页面

新增内容:在android上解决这个问题的方法是使用iframe,这真的很有帮助。但现在的问题是iframe本身在iphone上的Safari。当打开webapp时,js不会被加载。如何解决?

为了解决问题,你必须理解它。这种情况发生在Android版Telegram的WebApps上。当你点击一个链接时,它不是在WebApp区域打开,而是在浏览器中打开。这个浏览器是Telegram的内部或外部浏览器,取决于设置/聊天设置/应用内浏览器。无论链接如何,都会发生此错误。不仅仅是Javascript调用。一个简单的产生同样的效果。它似乎来自WebView级别的bug,因此在Telegram的代码中。因此,更改WebApp的代码(例如另一个Javascript函数)不会改变任何东西。

<<p> 解决方案/strong>我测试过的解决方案是使用iframe。而不是有例如index.html链接到page1.html和page2.html,你重命名你的index.html到menu.html,你做一个index.html页面有一个iframe包含menu.html。如果你使用一个无边界的全曲面iframe,用户将不会注意到任何东西。并且不需要使用iframe从菜单转到page1或page2。src: iframe中页面之间的直接Javascript链接可以完美地工作,就像简单的href链接一样。

只有一点:你必须执行一个window.Telegram.WebApp.ready();在你的第一页,有iframe(和其他)

适用于所有测试平台(Windows/Android/iOS)的解决方案:

  • 添加空表单,将action属性更改为所需URL并提交。

最新更新