导致Android Chrome

时间:2017-08-21 12:12:50

标签: android google-chrome http

在Android设备上的某些Chrome浏览器中,我们看到Chrome Dev Tools中已取消的请求。

似乎只发生在跟踪/content/:uuid路径格式和www子域名的文章的网址上,我们认为我们已将其范围缩小到而不是所有文章,因为内容带有虚荣网址似乎没有取消。

这些请求会显示为已取消,然后会立即再次请求但未取消。

大多数时候这很好,浏览器会加载请求的页面,但是偶尔从www.ft.com点击文章链接会首先取消原始请求,然后不是重新发送对内容的请求,它将重新制作他们已经使用的页面的请求,在本例中为www.ft.com

在发生此错误的设备上,初始取消的请求将一直发生,但原始页面的重新加载是间歇性的(可能是6次中的1次?)。

取消的请求,最终通过:

Cancelled request, which eventually goes through

取消的请求,重新加载原始页面:

Cancelled request, which reloads the original page

在这些设备上发生错误:

  • 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'中的链接模拟设备不会导致请求取消,只能直接使用设备。

1 个答案:

答案 0 :(得分:5)

所以这个特例是因为当安装了处理深层链接的应用时,Chrome当前版本中出现了一个错误。

在我的手机(Oneplus 3,Chrome 60.0.3112.107)上,我无法重现已取消的请求或错误的重定向直到我在手机上安装了FT应用程序。

安装了应用程序(我假设它设置为处理模式链接www.ft.com/content/),单击文章链接会显示弹出窗口,以决定是否要在应用程序或Chrome中打开。这反映为“网络”选项卡中的已取消请求。即使选择始终在浏览器中打开,这些链接也会显示为已取消并重新请求(无论是主页错误还是正确的文章)。

我可以使用FT和WSJ及其各自的应用程序重现这一点,这意味着它是当前Chrome版本中的一个错误。

但是,在Chrome测试版(v61.0.3163.60)或Chrome Canary中也不会发生同样的行为 - 所以我猜测它现在已经修复了......