CN109284459A - 一种基于浏览器内核的网页转码方法 - Google Patents

一种基于浏览器内核的网页转码方法 Download PDF

Info

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
Application number
CN201811201871.4A
Other languages
English (en)
Inventor
肖碧松
周海涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chinaso Information Technology Co Ltd
Original Assignee
Chinaso Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chinaso Information Technology Co Ltd filed Critical Chinaso Information Technology Co Ltd
Priority to CN201811201871.4A priority Critical patent/CN109284459A/zh
Publication of CN109284459A publication Critical patent/CN109284459A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/189Automatic 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树节点信息进行预处理具体包括删减网页中的无效或/和无用元素。
CN201811201871.4A 2018-10-16 2018-10-16 一种基于浏览器内核的网页转码方法 Pending CN109284459A (zh)

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)

* Cited by examiner, † Cited by third party
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 北京奇虎科技有限公司 一种手持终端浏览器页面分享方法、装置及手持终端

Patent Citations (7)

* Cited by examiner, † Cited by third party
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