CN109284459A - 一种基于浏览器内核的网页转码方法 - Google Patents
一种基于浏览器内核的网页转码方法 Download PDFInfo
- Publication number
- CN109284459A CN109284459A CN201811201871.4A CN201811201871A CN109284459A CN 109284459 A CN109284459 A CN 109284459A CN 201811201871 A CN201811201871 A CN 201811201871A CN 109284459 A CN109284459 A CN 109284459A
- Authority
- CN
- China
- Prior art keywords
- web page
- webpage
- original web
- information
- javascript
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/189—Automatic justification
Abstract
本发明公开了一种基于浏览器内核的网页转码方法,涉及移动互联网领域。本方法通过使用WebKit浏览器内核相关技术、源码,对原始网页中携带的CSS样式信息、JavaScript脚本信息、部分内嵌IFRAME等网页元素信息进行有效处理,并结合处理后得到的结果信息再对原始网页进行分块等转码操作,最终实现网页转码过程。本发明提供的网页转码方法通过执行原始网页中包含的JavaScript脚本,可以获取到需要JavaScript支持的网页元素信息,并支持JavaScript方式的网页重定向操作,可实现完整呈现原始网页有效信息的目的;同时该方法对原始网页中内嵌的IFRAME等元素也可进行下载支持,使得原始网页中有效信息能够全部展现给用户。
Description
技术领域
本发明涉及移动互联网领域,尤其涉及一种基于浏览器内核的网页转码方法。
背景技术
当用户使用移动设备通过浏览器访问互联网内容时,很多互联网服务器往往只能提供传统的基于PC浏览体验的网页,而此类型网页在移动设备端直接浏览时,往往会有如下问题:由于移动设备计算能力较弱,很多复杂的网页内容在移动设备上显示速度很慢,用户体验很差;由于不同的移动设备对网页内容支持标准不同,很多网页元素在移动设备上不能呈现出来,使得用户不能有效浏览到网页全貌;传统网页基于为桌面端浏览器提供服务,往往内容复杂、网页文件较大、如果完整下载全部网页内容会消耗移动设备用户大量数据流量,使得移动互联网用户费用过高。
为了解决上述的技术问题,目前有技术采用直接转码的方法对网页进行转码,主要的步骤包括:
网页转码应用收到用户转码请求时,从用户所请求网页所在目标互联网服务器下载对应网页信息;下载完成后,基于下载到的原始网页HTML代码解析网页并建立DOM树;建立DOM树完成后,基于DOM树的节点层次结构、网页上下文关系开始进行分块等操作,完成转码后输出转码后HTML文档。
但是现有技术1仍然存在以下缺点:
1.没有结合原始网页中所包含的CSS样式信息进行网页排版操作,不能根据原始网页排版后的视觉效果进行分块操作,导致网页分块等操作不够准确。
2.没有执行原始网页中所包含的JavaScript脚本,导致部分需要JavaScript支持的有效网页元素以及JavaScript方式的重定向等操作不能处理。
3.不能有效处理原始网页中内嵌的IFRAME等HTML标签,导致原始网页中的有效元素不能全部展现给用户。
发明内容
本发明的目的在于提供一种基于浏览器内核的网页转码方法,从而解决现有技术中存在的前述问题。
为了实现上述目的,本发明采用的技术方案如下:
一种基于浏览器内核的网页转码方法,包括以下步骤:
S1,系统接收到用户请求后,下载原始网页内容;
S2,解析原始网页中的有效元素,开始建立DOM树;
S3,对解析出来的有效元素进行排版操作;
S4,排版完成后,对排版后的DOM树节点信息进行预处理,结合原始网页对网页进行分块处理;
S5,完成网页分块操作后对DOM树节点内容信息进行文本化输出,将转码后网页内容传送给调用者。
优选地,步骤S2中所述的有效元素包括CSS样式信息、JavaScript脚本信息和部分内嵌IFRAME中的至少一种。
优选地,步骤S2具体包括以下步骤:
S21,对原始网页中的有效元素进行解析,;
S22,如果发现原始网页中有JavaScript方式的重定向请求或者转码系统需要执行的JavaScript事件消息,则对JavaScript源码片段进行执行,执行JavaScript代码完毕后如原始网页内容有更新则重新开始建立DOM树。
优选地,步骤S21中调用WebKit内核相关功能对原始网页中的有效元素进行解析;步骤S22调用WebKit相关功能对JavaScript源码片段进行执行。
优选地,当所述重定向次数小于用户设置时,则返回步骤S1,重新下载网页内容。
优选地,步骤S3中的排版操作具体为调用WebKit接口结合CSS样式信息进行排版。
优选地,步骤S4中对排版后的DOM树节点信息进行预处理具体包括删减网页中的无效或/和无用元素。
本发明的有益效果是:
本发明提供的网页转码方法通过执行原始网页中包含的JavaScript脚本,可以获取到需要JavaScript支持的网页元素信息,并支持JavaScript方式的网页重定向操作,可实现完整呈现原始网页有效信息的目的;同时该方法对原始网页中内嵌的IFRAME等元素也可进行下载支持,使得原始网页中有效信息能够全部展现给用户。
附图说明
图1是本发明网页转码方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
实施例
本实施例提供一种基于内核的网页转码方法,具体步骤如下:
S1,系统接收到用户请求后,下载原始网页内容;
S2,解析原始网页中的有效元素,开始建立DOM树;
S3,对解析出来的有效元素进行排版操作;
S4,排版完成后,对排版后的DOM树节点信息进行预处理,结合原始网页对网页进行分块处理;
S5,完成网页分块操作后对DOM树节点内容信息进行文本化输出,将转码后网页内容传送给调用者。
首先,网页转码系统接收到用户转码请求后,依据用户请求的网页地址,从网页所在的互联网服务器下载原始网页内容。
然后在下载到原始网页内容后,调用WebKit内核相关功能对原始网页中的有效元素进行解析,并开始进行DOM树建立过程。
建立DOM树过程中,如果发现原始网页中有JavaScript方式的重定向请求或者onLoad等转码系统需要执行的JavaScript事件消息,则调用WebKit相关功能对JavaScript源码片段进行执行,执行JavaScript代码完毕后如原始网页内容有更新则重新开始DOM树的建立过程。如原始网页中无JavaScript相关内容,则开始原始网页的排版过程。
排版过程中,通过调用WebKit内核相关功能结合原始网页CSS样式信息对网页中的有效元素进行定位,样式设定等操作。
排版操作完成后,对排版后的DOM树节点信息进行预处理,对网页中的无效、无用信息进行删减。
删减操作完成后,结合原始网页排版后的视觉效果信息、网页上下文信息对网页进行分块操作。
完成网页分块操作后对DOM树节点内容信息进行文本化输出,将转码后网页内容传送给调用者,即可完成网页转码请求。
值的注意的是,当所述重定向次数小于用户设置时,则返回步骤S1,重新下载网页内容。
通过采用本发明公开的上述技术方案,得到了如下有益的效果:
本发明提供的网页转码方法通过执行原始网页中包含的JavaScript脚本,可以获取到需要JavaScript支持的网页元素信息,并支持JavaScript方式的网页重定向操作,可实现完整呈现原始网页有效信息的目的;同时该方法对原始网页中内嵌的IFRAME等元素也可进行下载支持,使得原始网页中有效信息能够全部展现给用户。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
Claims (7)
1.一种基于浏览器内核的网页转码方法,其特征在于,包括以下步骤:
S1,系统接收到用户请求后,下载原始网页内容;
S2,解析原始网页中的有效元素,开始建立DOM树;
S3,对解析出来的有效元素进行排版操作;
S4,排版完成后,对排版后的DOM树节点信息进行预处理,结合原始网页对网页进行分块处理;
S5,完成网页分块操作后对DOM树节点内容信息进行文本化输出,将转码后网页内容传送给调用者。
2.根据权利要求1所述的基于浏览器内核的网页转码方法,其特征在于,步骤S2中所述的有效元素包括CSS样式信息、JavaScript脚本信息和部分内嵌IFRAME中的至少一种。
3.根据权利要求1所述的基于浏览器内核的网页转码方法,其特征在于,步骤S2具体包括以下步骤:
S21,对原始网页中的有效元素进行解析,;
S22,如果发现原始网页中有JavaScript方式的重定向请求或者转码系统需要执行的JavaScript事件消息,则对JavaScript源码片段进行执行,执行JavaScript代码完毕后如原始网页内容有更新则重新开始建立DOM树。
4.根据权利要求3所述的基于浏览器内核的网页转码方法,其特征在于,步骤S21中调用WebKit内核相关功能对原始网页中的有效元素进行解析;步骤S22调用WebKit相关功能对JavaScript源码片段进行执行。
5.根据权利要求3所述的基于浏览器内核的网页转码方法,其特征在于,当所述重定向次数小于用户设置时,则返回步骤S1,重新下载网页内容。
6.根据权利要求1所述的基于浏览器内核的网页转码方法,其特征在于,步骤S3中的排版操作具体为调用WebKit接口结合CSS样式信息进行排版。
7.根据权利要求1所述的基于浏览器内核的网页转码方法,其特征在于,步骤S4中对排版后的DOM树节点信息进行预处理具体包括删减网页中的无效或/和无用元素。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811201871.4A CN109284459A (zh) | 2018-10-16 | 2018-10-16 | 一种基于浏览器内核的网页转码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811201871.4A CN109284459A (zh) | 2018-10-16 | 2018-10-16 | 一种基于浏览器内核的网页转码方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109284459A true CN109284459A (zh) | 2019-01-29 |
Family
ID=65177071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811201871.4A Pending CN109284459A (zh) | 2018-10-16 | 2018-10-16 | 一种基于浏览器内核的网页转码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109284459A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622351A (zh) * | 2011-01-26 | 2012-08-01 | 腾讯科技(深圳)有限公司 | 转换网络页面类型的方法、装置和系统 |
CN102654885A (zh) * | 2012-04-28 | 2012-09-05 | 北京华胜天成科技股份有限公司 | 移动终端网页适配系统和方法 |
CN102663126A (zh) * | 2012-04-23 | 2012-09-12 | 奇智软件(北京)有限公司 | 一种在移动终端中显示网页的方法及装置 |
CN102831190A (zh) * | 2012-08-03 | 2012-12-19 | 北京中广睛彩导航科技有限公司 | 一种在低端设备上浏览cml文件的方法 |
CN103166981A (zh) * | 2011-12-08 | 2013-06-19 | 腾讯科技(深圳)有限公司 | 一种无线网页转码方法及装置 |
CN105095449A (zh) * | 2015-07-27 | 2015-11-25 | 福州盈展信息技术有限公司 | 一种将html网页转换为移动终端页面的方法 |
CN106503183A (zh) * | 2016-10-24 | 2017-03-15 | 北京奇虎科技有限公司 | 一种手持终端浏览器页面分享方法、装置及手持终端 |
-
2018
- 2018-10-16 CN CN201811201871.4A patent/CN109284459A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622351A (zh) * | 2011-01-26 | 2012-08-01 | 腾讯科技(深圳)有限公司 | 转换网络页面类型的方法、装置和系统 |
CN103166981A (zh) * | 2011-12-08 | 2013-06-19 | 腾讯科技(深圳)有限公司 | 一种无线网页转码方法及装置 |
CN102663126A (zh) * | 2012-04-23 | 2012-09-12 | 奇智软件(北京)有限公司 | 一种在移动终端中显示网页的方法及装置 |
CN102654885A (zh) * | 2012-04-28 | 2012-09-05 | 北京华胜天成科技股份有限公司 | 移动终端网页适配系统和方法 |
CN102831190A (zh) * | 2012-08-03 | 2012-12-19 | 北京中广睛彩导航科技有限公司 | 一种在低端设备上浏览cml文件的方法 |
CN105095449A (zh) * | 2015-07-27 | 2015-11-25 | 福州盈展信息技术有限公司 | 一种将html网页转换为移动终端页面的方法 |
CN106503183A (zh) * | 2016-10-24 | 2017-03-15 | 北京奇虎科技有限公司 | 一种手持终端浏览器页面分享方法、装置及手持终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105095280B (zh) | 一种浏览器缓存方法和装置 | |
US10382520B2 (en) | Placeholders for dynamic components in HTML streaming | |
US9178934B1 (en) | Modifying web content at a client | |
US9450803B2 (en) | Efficient delivery of content by virtualization of dynamic interaction with the document object model | |
US9363329B1 (en) | Identifying correlated components of dynamic content | |
US10015226B2 (en) | Methods for making AJAX web applications bookmarkable and crawlable and devices thereof | |
US7921353B1 (en) | Method and system for providing client-server injection framework using asynchronous JavaScript and XML | |
US9311425B2 (en) | Rendering a page using a previously stored DOM associated with a different page | |
US10009439B1 (en) | Cache preloading | |
US20160191658A1 (en) | Efficient delivery of webpages | |
US20150074513A1 (en) | Webpage Browsing Method, Webapp Framework, Method and Device for Executing Javascript and Mobile Terminal | |
US10938879B2 (en) | Third-party Ad acceleration | |
CN107040584B (zh) | 客户端下载图片的方法及装置 | |
WO2013097592A1 (zh) | 脚本加载技术 | |
US11330075B2 (en) | One-time cache | |
US10178147B1 (en) | Client-side location address translation | |
CN110442286B (zh) | 一种页面展示方法、装置及电子设备 | |
CN112637361B (zh) | 一种页面代理方法、装置、电子设备及存储介质 | |
US9645984B2 (en) | Efficient delivery of content by virtualization of static interaction with the document object model | |
CN106446617A (zh) | 一种具有源文件保护功能的静态页面访问方法 | |
CN112379933A (zh) | 应用程序启动方法、装置、介质及电子设备 | |
CN109284459A (zh) | 一种基于浏览器内核的网页转码方法 | |
CN110830537B (zh) | 一种页面处理方法及装置 | |
CN110209973B (zh) | 一种网页游戏加载方法及装置 | |
US10482507B2 (en) | Handling digital advertisements in a communication network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190129 |
|
RJ01 | Rejection of invention patent application after publication |