GoogleChrome版本号即将突破100,从初步测试结果来看,该版本可能会导致部分网站无法正常使用.目前,谷歌已经在研究和测试一个解决方案。根据ChromiumBugTracker,已知受影响的网站主要是使用网页设计工具包Duda开发的网站。这些网站都使用相同的代码来检查您使用的Chrome版本。通常,如果网站需要知道您使用的浏览器及其版本,它会检查所谓的“用户代理字符串”。它是您的浏览器附加到其每个网络连接的一段文本,以使网站了解自己。如果分析“用户代理字符串”的实际内容,您会发现其中有大量废话,其中大部分是为了保持与1990年代和2000年代初期网站的兼容性。然而,在这种情况下,这不是最重要的事情。让我们看一个Chrome浏览器的用户代理字符串示例。Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/96.0.4664.45Safari/537.36最后可以看到我们要找的部分是“Chrome/96.0.4664.45”,它为我们提供了浏览器的确切版本号。然而,大多数Web开发人员可能只关心主版本号,在我们的例子中是“96”。由于用户代理字符串是简单的文本,开发人员需要设计一种方法来解释此信息以满足他们的需要。在Duda的案例中,开发人员选择只读取“Chrome/”之后的前两位数字。这意味着“Chrome/99”将是99,但另一方面,“Chrome/100”将被视为版本10。下一个问题是Duda会自动阻止低于版本40的任何版本的Chrome-它于2015年,如果有任何意义的话。立即,Chrome99之后的每个浏览器版本都被视为版本10,因此被阻止。那么,如果我们不能放弃这些网站,我们能做些什么呢?第一个建议是更改开发人员检查Chrome浏览器版本的位置。为了旧网站的利益,Chrome会将用户代理字符串的第一个版本号锁定为99。如果Web开发人员想要检查超出此范围的特定版本,他们需要查看第二组数字。例如,浏览器版本Chrome100.0.1234.56在用户代理字符串中显示为“Chrome/99.100.1234.56”。为此,在chrome://flags中添加了一个新标志,让Google员工和网络开发人员测试各种网站是否受到Chrome主要版本号位置变化的影响。将User-Agent字符串中的Chrome主版本锁定为99,并强制将主版本号放在次版本位置。这个标志是Chrome100意外中断的备份计划。#force-major-to-minor然而,正如你可能已经注意到的,这个解决方案在标志的描述中被认为是一个“备份计划”。目前的解决方案是让谷歌就Chrome100即将出现的问题与个别开发人员联系。到目前为止,该公司在这方面的努力实际上有些运气,因为Duda并不是唯一有问题的网络工具包。直到几天前,在英国通过YellBusiness创建的所有网站也将与Chrome100中断。在几位Google员工推广后,YellBusiness为他们的整个网络解决了这个问题。现在的希望是,谷歌将最终找到网络上所有在Chrome100发布时出现故障的网站,并就此问题联系他们的开发人员。如果这些问题在3月底Chrome100发布之前有足够的时间得到解决,那么Web开发人员就根本不需要进行任何更改。
