首页 > 其他分享 >js Konqueror 和 KHTML 的版本号

js Konqueror 和 KHTML 的版本号

时间:2024-02-04 22:32:45浏览次数:19  
标签:Konqueror 浏览器 版本号 KHTML Safari WebKit Gecko

WebKit 2003 年,苹果宣布将发布自己的浏览器 Safari。Safari 的渲染引擎叫 WebKit,是基于 Linux 平台浏览器 Konqueror 使用的渲染引擎 KHTML 开发的。几年后,WebKit 又拆分出自己的开源项目,专注于渲染引擎开发。 这个新浏览器和渲染引擎的开发者也面临与当初 IE3.0 时代同样的问题:怎样才能保证浏览器不被排除在流行的站点之外。答案就是在用户代理字符串中添加足够多的信息,让网站知道这个浏览器与其他浏览器是兼容的。于是 Safari 就有了下面这样的用户代理字符串:

AppleWebKit/AppleWebKitVersion (KHTML, like Gecko) Safari/SafariVersion

下面是一个实际的例子:

Safari/125.1

这个字符串也很长,不仅包括苹果 WebKit 的版本,也包含 Safari 的版本。一开始还有是否需要将浏览器标识为 Mozilla 的争论,但考虑到兼容性很快就达成了一致。现在,所有基于 WebKit 的浏览器都将自己标识为 Mozilla 5.0,与所有基于 Gecko 的浏览器一样。Safari 版本通常是浏览器的构建编号,不一定表示发布的版本号。比如 Safari 1.25 在用户代理字符串中的版本是 125.1,但也不一定始终这样对应。 Safari 用户代理字符串中最受争议的部分是在 1.0 预发布版中添加的"(KHTML, like Gecko)"。由于有意想让客户端和服务器把 Safari 当成基于 Gecko 的浏览器(好像光添加"Mozilla/5.0"还不够),苹果也招来了很多开发者的反对。苹果的回应与微软当初 IE 遭受质疑时一样:Safari 与 Mozilla 兼容,不能让网站以为用户使用了不受支持的浏览器而把 Safari 排斥在外。 Safari 的用户代理字符串在第 3 版时有所改进。下面的版本标记现在用来表示 Safari 实际的版本号:

(KHTML, like Gecko) Version/3.0.3 Safari/522.15.5

注意这个变化只针对 Safari 而不包括 WebKit。因此,其他基于 WebKit 的浏览器可能不会有这个变化。一般来说,与 Gecko 一样,通常识别是不是 WebKit 比识别是不是 Safari 更重要。 Konqueror Konqueror是与 KDE Linux桌面环境打包发布的浏览器,基于开源渲染引擎 KHTML。虽然只有 Linux平台的版本,Konqueror 的用户却不少。为实现最大化兼容,Konqueror 决定采用 Internet Explore 的用户代理字符串格式:

不过,Konqueror 3.2 为了与 WebKit 就标识为 KHTML 保持一致,也对格式做了一点修改:

(like Gecko)

下面是一个例子:

Konqueror 和 KHTML 的版本号通常是一致的,有时候也只有子版本号不同。比如 Konqueror 是 3.5,而 KHTML 是 3.5.1。 Chrome 谷歌的 Chrome 浏览器使用 Blink 作为渲染引擎,使用 V8 作为 JavaScript 引擎。Chrome 的用户代理字符串包含所有 WebKit 的信息,另外又加上了 Chrome 及其版本的信息。其格式如下所示:

AppleWebKit/AppleWebKitVersion (KHTML, like Gecko) 
 Chrome/ChromeVersion Safari/SafariVersion

以下是 Chrome 7 完整的用户代理字符串:

(KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7

其中的 Safari 版本和 WebKit 版本有可能始终保持一致,但也不能肯定。

标签:Konqueror,浏览器,版本号,KHTML,Safari,WebKit,Gecko
From: https://blog.51cto.com/u_16298168/9595024

相关文章

  • INFINI Labs 产品更新 | 统一版本号 1.22.0
    INFINILabs产品又更新啦~,包括Console,Gateway,Loadgen,Agent1.22.0。为了避免版本不同带来的困扰,以后发布均统一版本号,此次版本重点修复历史遗留Bug、优化内存占用等。以下是本次更新的详细说明。INFINIConsolev1.22.0INFINIConsole是一款非常轻量级的多集群、跨版本的搜索......
  • INFINI Labs 产品更新 | 统一版本号 1.22.0
    INFINILabs产品又更新啦~,包括Console,Gateway,Loadgen,Agent1.22.0。为了避免版本不同带来的困扰,以后发布均统一版本号,此次版本重点修复历史遗留Bug、优化内存占用等。以下是本次更新的详细说明。INFINIConsolev1.22.0INFINIConsole是一款非常轻量级的多集群、跨版本的搜......
  • 如何获取微信的版本号详解【附完整源码】
    前两天群里有人问到这个问题,我想着在网上找个教程发给他,没想到这玩意还挺新鲜?网上基本上找不到实质性的回答...关于这个问题,其实挺简单的,微信的版本号其实就写在注册表中,读取它就完事了~打开注册列表找到【计算机\HKEY_CURRENT_USER\Software\Tencent\WeChat】,就看的到版本号......
  • 安装vue脚手架以后,vue版本不能查出版本号,找不到指令
    重装电脑后,安装完node,用npm安装vue脚手架,查不到版本信息号原因竟然是我之前重装了node的版本然后修改了一些环境变量,试了很多方法,vue-cil还是不生效 解决方法1.执行如下命令代理置为空npmconfigsetproxynull2.运行如下命令清理缓存npmcacheclean--force3.配置npm源......
  • 解决方案 | AutoCAD 版本+版本号+受支持的 .NET SDK版本+.NET Framework版本
    关于Managed.NET兼容性Managed.NET应用程序通常与扩展基于AutoCAD的产品的行为和功能的公司和第三方应用程序关联。在移植到最新版本后,并非所有.NET应用程序都可以正常工作。.NET应用程序的兼容性在各版本之间可能随时更改,以利用最新的.NETFramework和Auto......
  • 使用Wkhtmltopdf导出PDF
    Wkhtmltopdf是什么?引用官网的一句话:wkhtmltopdfandwkhtmltoimageareopensource(LGPLv3)commandlinetoolstorenderHTMLintoPDFandvariousimageformatsusingtheQtWebKitrenderingengine.Theserunentirely"headless"anddonotrequireadispla......
  • `pip freeze` 是一个命令,它会列出所有已安装的Python库及其版本号。这个命令在Python
    pipfreeze是一个命令,它会列出所有已安装的Python库及其版本号。这个命令在Python的包管理器pip中使用,主要用于生成一个项目的依赖列表。这个列表可以用于在其他环境中重新创建相同的库设置,通常通过使用pipinstall-rrequirements.txt命令,其中requirements.txt是由pipfree......
  • wkhtmltopdf 使用记录
    1、下载安装后,在安装目录能找到两个exe,我这里只用到了pdf。下载地址:https://www.alipan.com/s/nK8bSrpFeH8,这是我自己的网盘。2、在exe目录执行命令:http://192.168.101.4:8080/print.html?adviceIds=1691643171508896425%2C1691643171508896426&patientId=1704026869843139220 ......
  • 项目版本号正则
    我试图检查一个输入字符串,其中包含正确格式的版本号.vX.X.XRunCodeOnline(SandboxCodePlaygroud)其中X可以是任意数量的数字,例如:v1.32.12orv0.2.2orv1232.321.23RunCodeOnline(SandboxCodePlaygroud)我有以下正则表达式:请注意,[\d.]应该匹配数字......
  • [VUE] WebPack 打包后自动修改 dist 中 package.json 版本号
    我们在开发npm包时,开发期的package.json通常并不一定是发布到npm仓库的package.json。这种情况下每次改版本号需要改两个地方,比较麻烦。我一般使用webpack进行打包,所以有了下面这个小插件。插件源码modify.version.plugin.js/**修改版本号webpack插件*/functi......