是啥导致 Android Chrome 上的网络请求被取消
Posted
技术标签:
【中文标题】是啥导致 Android Chrome 上的网络请求被取消【英文标题】:What's causing cancelled network requests on Android Chrome是什么导致 Android Chrome 上的网络请求被取消 【发布时间】:2018-01-29 12:18:27 【问题描述】:在 android 设备上的某些 Chrome 上,我们看到 Chrome 开发工具中的请求被取消。
它似乎只发生在遵循 /content/:uuid
路径格式的文章的 URL 和 www
子域上,我们认为我们已经将其范围缩小到了这一点,而不是所有文章,因为带有虚 URL 的内容不会t 似乎取消了。
发生的情况是这些请求显示为已取消,然后立即请求再次发出但未取消。
大多数情况下这很好,浏览器会加载请求的页面,但是偶尔从www.ft.com
点击文章的链接会首先取消原始请求,然后,它不会重新发出对内容的请求,而是重新请求他们已经在的页面,在本例中为www.ft.com
。
在发生此错误的设备上,初始取消请求将一直发生,但原始页面的重新加载是间歇性的(可能 6 次中有 1 次?)。
被取消的请求,最终通过:
取消的请求,重新加载原始页面:
错误出现在这些设备上:
Chrome 版本:59.0.3071.125,Android 版本:7.1.2,型号:Pixel Chrome 版本:59.0.3071.125,Android 版本:7.1.2,型号:Nexus 6P Chrome 版本:59.0.3071.125,Android 版本:5.0.0,型号:Note 3这些设备上不会出现错误:
Chrome 版本:59.0.3071.125,Android 版本:7.0,型号:Moto G5 Chrome 版本:59.0.3071.125,Android 版本:7.0,型号:Galaxy S7 (mini) Chrome 版本:59.0.3071.125,Android 版本:7.1.1,型号:OnePlus 3它与What does status=canceled for a resource mean in Chrome Developer Tools? 有点相关,但我们很确定我们已经排除了接受答案中的原因。
我们尝试过但没有帮助的调试:
禁用 javascript 禁用我们的跟踪 Javascript 禁用我们的广告 禁用我们的服务人员 禁用application cache禁用 Javascript 确实改变了行为,我们看到请求仍然被取消,但没有看到它重新加载原始页面,就像我们在启用 Javascript 时看到的那样。
其他观察:
点击 Chrome Devtools 设备模拟中的链接不会导致请求取消,只会直接使用设备。【问题讨论】:
所以我使用的是 Android 7.1.2、Chrome 60.0.3112.107,没有任何问题。然而,其他 Chrome 60 用户以及其他 Android 版本都遇到了这个问题,因此它看起来并不特定于任何软件版本。 确认当前 60.0.3112.116(LG 5X,奥利奥)上的错误,确认当前 beta 62.0.3202.19 上的工作......等待更新是唯一的方法吗? :( 【参考方案1】:所以这种特殊情况是因为当前版本的 Chrome 中存在一个错误,当安装了一个处理深层链接的应用程序时。
在我的手机(一加 3,Chrome 60.0.3112.107)上,我无法重现被取消的请求或错误的重定向,直到我在手机上安装了 FT 应用程序。
安装应用程序后(我假设它设置为处理 www.ft.com/content/ 模式的链接),单击文章链接会显示弹出窗口,以决定我是要在应用程序还是 Chrome 中打开。这反映为“网络”选项卡中的已取消请求。即使选择始终在浏览器中打开,这些链接也会显示为已取消并重新请求(错误地指向主页,或指向正确的文章)。
我可以在安装了各自应用程序的 FT 和 WSJ 上重现此问题,这意味着这是当前版本的 Chrome 中的一个错误。
但是,在 Chrome Beta (v61.0.3163.60) 或 Chrome Canary 中不会发生相同的行为 - 所以我猜它现在已得到修复...
【讨论】:
所以我们已经在 Chrome v59 和 v60 中看到了它。我会看一下错误报告。 可能是bugs.chromium.org/p/chromium/issues/… 之一。 该问题在最新的 Chrome (v 61.0.3163.100) 中仍然存在。但我在 Chrome Canary (v 63) 中对其进行了测试,但问题未重现。以上是关于是啥导致 Android Chrome 上的网络请求被取消的主要内容,如果未能解决你的问题,请参考以下文章
是啥赋予了!? Mac 上的 Chrome 不会清除自动填充数据