首页 > 解决方案 > 从 Facebook/Instagram 链接时,Angular 7 网站在 android WebView 上崩溃

问题描述

我已经搜索了所有可以找到的资源并尝试了所有方法,但似乎找不到解决方案。我有一个网站(Angular 7 形式),可以在所有设备和所有浏览器上完美运行,但是当我在 Facebook 上发布链接时,在 Android 手机上它会在 Facebook 的 WebView 浏览器中打开,并在点击第一个按钮或按下三个点时崩溃浏览器角落。WebView 浏览器在某些 Iphone 上运行良好,但有些也有同样的问题。CSS样式也不相似,背景没有覆盖整个设备,按钮几乎不可见。我尝试将链接直接发布到网站上的其他页面,并且总是在导航到路由器上的下一页或点击页面上的任何内容时,它总是崩溃。

一些测试人员声称他们可以进入第三页(共 8 页),然后就崩溃了。

我已阅读有关修复并尝试了以下内容:

  1. 删除了 Google 跟踪代码管理器脚本,因为它位于 iframe 中
  2. 更改了 CSS 样式,以便没有以像素或百分比为单位的宽度/高度值
  3. 添加了视口元标记
  4. 检查所有 URL:s 是 https
  5. 从最后一页的链接中删除了 target="_blank"
  6. 更改了 CSS 样式,以便位置是绝对的

WebView 不支持的还有其他内容吗?我在哪里可以找到这些信息,或者我应该继续猜测?当它不是我自己的应用程序的 WebView 而是 Facebook 的 WebView 时,有没有办法以某种方式调试 WebView?

在此先感谢,这是一个令人讨厌的问题!不幸的是,该网站将通过社交媒体发布。

标签: androidangularcrashandroid-webviewwkwebview

解决方案


所以我终于解决了这个(解决方法),只用了一行代码。我的解决方法是将用户重定向到外部浏览器,当它尝试在 Facebook 或 Instagram 的应用内浏览器中打开时。

我检测它是 FB 还是 Instagram,然后在 html 中运行这行代码:

<meta http-equiv="refresh" content="0; url=intent://YOURURL#Intent;scheme=https;action=android.intent.action.VIEW;end;" />

希望这对某人有所帮助,这些应用内浏览器似乎真的很痛苦!


推荐阅读