KHTML 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
KHTML 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
KHTML 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
KHTML 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
KHTML 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 未知
开发语言 C/C++
操作系统 Linux
软件类型 开源软件
所属分类 应用工具浏览器
开源组织
地区 不详
投 递 者 红薯
适用人群 未知
收录时间 2009-11-24

软件简介

KHTML,是HTML网页排版引擎之一,由KDE所开发。

KDE系统自KDE 2版起,在KDE的新程式Konqueror的网页浏览器使用了KHTML引擎。该引擎以C++编程语言所写,并以LGPL授权,支援大多数网页浏览标准。由于微软的Internet Explorer的占有率相当高,不少以FrontPage制作的网页均包含只有IE才能读取的非标准语法,为了使KHTML引擎可呈现的网页达到最多,部分IE专属的语法也一并支援。

KHTML拥有速度快捷的优点,但对错误语法的容忍度则比Mozilla产品所使用的Gecko引擎小。

苹果电脑于2002年采纳了KHTML,作为开发Safari浏览器之用,并发布所修改的最新及过去版本源代码。后来发表了开放源代码的WebCore及WebKit引擎,它们均是KHTML的衍生产品,在开发网站列出引擎改变内容,并会传回至KDE计划。由于两个衍生产品各走不同路线,使两者源代码偏离,在与KDE交换更新会出现困难[1]。其中一个原因,是苹果在对外公开源代码之前,以一年时间编修他们的KHTML。另外,苹果传送更新至KDE计划的方式,多是一口气把大量改动一起传送,KDE在整理资料也出现一定的困难,及后苹果表示会以CVS格式来传送[2]。再者,苹果所作出的改动包括Mac OS X系统独有的事物,如Objective-C、KWQ等,在Linux及KHTML是没有的[3]。但KDE方面仍透过这些改动,为KHTML加入新功能及加快其排版速度。

展开阅读全文

评论 (0)

加载中
更多评论
暂无内容
发表于大前端专区
2020/09/08 08:28

ua

小米手机 型号:10 Pro Mozilla/5.0 (Linux; Android 10; Mi 10 Pro Build/QKQ1.191117.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.99 Mobile Safari/537.36 MMWEBID/3752 MicroMessenger/7.0.15.1680(0x27000F35) Process/tools WeChat/arm64 NetType/WIFI Language/zh_CN ABI/arm64 vivo手机 型号:X21i A Mozilla/5.0 (Linux; Android 9; vivo X21i A Build/P00610; wv) AppleWebKit/5...

0
0
发表于开发技能专区
2016/08/22 02:09

Scrapy建议的几个防止爬虫被禁的策略

#### 1. 随机切换UA 配置文件settings.py 同级目录下新增下载中间件 rotate_useragent.py ```python # -*- coding: utf-8 -*- import random class RotateUserAgentMiddleware(scrapy.contrib.downloadermiddleware.useragent.UserAgentMiddleware): def __init__(self, user_agent=''): self.user_agent = user_agent def process_request(self, request, spider): request.headers.setdefault('User-Agent', random.choice(s...

0
1
发表了博客
2019/04/10 10:58

python爬虫之如何随机更换User-Agent

python爬虫爬取网站内容时,如果什么也没带,即不带报头headers,往往会被网站管理维护人员认定为机器爬虫。因为,此时python默认的user-agent如Python-urllib/2.1一样。因此,网站管理人员会根据请求的user-agent判定你是不是机器爬虫。所以,此时往往就需要伪装user-agent,模拟成真实的浏览器去取出内容。下面是一些比较常用的浏览器的user-agent: Chrome "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, ...

0
0
发表了博客
2019/02/06 11:04

User-Agent 合集

Opera Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60 Opera/8.0 (Windows NT 5.1; U; en) Mozilla/5.0 (Windows NT 5.1; U; en; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 9.50 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 9.50 Firefox Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34....

0
0
发表于服务端专区
2020/09/15 12:04

常见User-agent

``` 常见User-Agent大全 pc Opera Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60 Opera/8.0 (Windows NT 5.1; U; en) Mozilla/5.0 (Windows NT 5.1; U; en; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 9.50 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 9.50 Firefox Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) ...

0
0
发表了博客
2019/04/10 14:09

谈谈我们对userAgent的看法,为什么爬虫中需要userAgent?

首先打开浏览器,按 F12 进入控制台(Console),然后输入:navigator.userAgent,即可看到 UA。例如: 1 2 Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0 userAgent无非不是欺骗服务器,我们自己本身类似于正常用户访问页面,拿取数据。 总结一下,UA 通常格式如下: 1 2 Mozilla/5.0 (平台) 引擎版本 浏览器版本号 1 2 3 4 5 6 7 8 9 10 Windows NT 5.0 // 如 Windows 2000 Windows NT 5.1 //...

0
0
发表了博客
2020/09/19 19:10

python实现三种随机请求头方式

实现的一个随机请求头的一个第三方库, 如下: import random import csv class GetUserAgentCS(object): """ 调用本地请求头文件, 返回请求头 """ def __init__(self): with open('D://pyth//scrapy 项目//setting//useragent.csv', 'r') as fr: fr_csv = csv.reader(fr) self.user_agent = [str(i[1]) for i in fr_csv] def get_user(self): return random.choice(self.user_agent) useragent文件如...

0
0
发表了博客
2018/03/23 09:42

判断浏览器版本

1.判断是否是IE浏览器版本 function IEVersion() { var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器 var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器 var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv...

0
0
发表于大前端专区
2016/06/03 11:35

UA Detect

开始之前 ==== 在以前很长一段时间里, 为了做前端的浏览器兼容而去利用 UA 判定浏览器类型(特别是IE)是很常见的 但如今都提倡利用 Features Detection 来处理兼容的问题, UA 判定的工作越来越少了 角度转换一下, 现在不是为了做特性的兼容, 而是为了业务的兼容, 这类业务的兼容尤为多 我们需要给用户一个 APP 下载的二维码, 而不单独列出各平台的下载链接 二维码只有一个, 跳到一个介绍页, 下载跳转按钮只有一个 需要对 Androi...

0
1
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
8 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部