CN103139260B - 用于重用html内容的方法和系统 - Google Patents

用于重用html内容的方法和系统 Download PDF

Info

Publication number
CN103139260B
CN103139260B CN201110391155.9A CN201110391155A CN103139260B CN 103139260 B CN103139260 B CN 103139260B CN 201110391155 A CN201110391155 A CN 201110391155A CN 103139260 B CN103139260 B CN 103139260B
Authority
CN
China
Prior art keywords
html content
node identifier
dom node
special parameter
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.)
Active
Application number
CN201110391155.9A
Other languages
English (en)
Other versions
CN103139260A (zh
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN201110391155.9A priority Critical patent/CN103139260B/zh
Priority to US13/683,152 priority patent/US9507759B2/en
Publication of CN103139260A publication Critical patent/CN103139260A/zh
Application granted granted Critical
Publication of CN103139260B publication Critical patent/CN103139260B/zh
Priority to US15/338,400 priority patent/US10318616B2/en
Priority to US16/393,957 priority patent/US10678994B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/117Tagging; Marking up; Designating a block; Setting of attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/131Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/154Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets

Abstract

本公开提供了一种用于重用HTML内容的方法,包括:接收HTTP请求;确定接收的HTTP请求存在指定请求部分HTML内容的特定参数;根据该特定参数获取部分HTML内容;输出获取的部分HTML内容。本公开还提供了一种用于重用HTML内容的系统,包括:接收单元,配置为接收HTTP请求;确定单元,配置为确定接收的HTTP请求存在指定请求部分HTML内容的特定参数;获取单元,配置为根据该特定参数获取部分HTML内容;输出单元,配置为输出获取的部分HTML内容。利用本公开的方法和系统能够在资源的提供方不提供公用的API的情况下对这些资源的重用成为可能。同时,由于不需要提供公用的API,资源的提供方也能够节省成本。

Description

用于重用HTML内容的方法和系统
技术领域
本发明涉及互联网信息处理,更具体地,本发明涉及一种用于重用HTML内容的方法和系统。
背景技术
现有技术中,开发人员在开发网页应用时,往往需要重复利用已有的资源,控件是这种已有的资源的一个例子。现有技术中为了能够使得已有的资源能够被其他网页所重用,必须由资源的提供方为其提供公用的应用程序接口(API),以便为开发人员所用。然而,对资源的提供方来说,提供公用的API需要花费额外的成本,因此在一些情况下,资源的提供方往往不提供公用的API。在资源的提供方不提供公用API的情况下对这些资源的重用出现困难。
发明内容
本公开说明性实施例中认识到现有技术中存在的上述缺点。为此,本公开提供了克服现有技术中一个或多个上述缺点的技术方案。
根据本公开的一个实施例,提供了一种用于重用HTML内容的方法,包括:接收HTTP请求;确定接收的HTTP请求存在指定请求部分HTML内容的特定参数;根据该特定参数获取部分HTML内容;输出获取的部分HTML内容。
根据本公开的一个实施例,提供了一种用于重用HTML内容的系统,包括:接收单元,配置为接收HTTP请求;确定单元,配置为确定接收的HTTP请求存在指定请求部分HTML内容的特定参数;获取单元,配置为根据该特定参数获取部分HTML内容;输出单元,配置为输出获取的部分HTML内容。
此外,本公开的实施例还提供了与上述方法对应的计算机程序产品。
利用本公开实施例提供的上述一个或多个实施例,使得在资源的提供方不提供公用的API的情况下对这些资源的重用成为可能。同时,由于不需要提供公用的API,资源的提供方也能够节省成本。
附图说明
本公开可以通过参考下文中结合附图所给出的描述而得到更好的理解,其中在所有附图中使用了相同或相似的附图标记来表示相同或者相似的部件。所述附图连同下面的详细说明一起包含在本说明书中并且形成本说明书的一部分,而且用来进一步举例说明本公开的优选实施例和解释本公开的原理和优点。在附图中:
图1显示了适于用来实现本公开实施方式的示例性计算系统100的框图;
图2显示了根据本公开的一个实施例的用于重用HTML内容的方法200的流程图;
图3显示了根据本公开的一个实施例的用于重用HTML内容的系统300的框图。
具体实施方式
下面结合附图介绍根据本公开的实施例。
本文中所用的术语,仅仅是为了描述特定的实施例,而不意图限定本发明。本文中所用的单数形式的“一”和“该”,旨在也包括复数形式,除非上下文中明确地另行指出。还要知道,“包含”一词在本说明书中使用时,说明存在所指出的特征、整体、步骤、操作、单元和/或组件,但是并不排除存在或增加一个或多个其它特征、整体、步骤、操作、单元和/或组件,以及/或者它们的组合。
以下的权利要求中的对应结构、材料、操作以及所有功能性限定的装置(means)或步骤的等同替换,旨在包括任何用于与在权利要求中具体指出的其它单元相组合地执行该功能的结构、材料或操作。所给出的对本发明的描述其目的在于示意和描述,并非是穷尽性的,也并非是要把本发明限定到所表述的形式。对于所属技术领域的普通技术人员来说,在不偏离本发明范围和精神的情况下,显然可以作出许多修改和变型。对实施例的选择和说明,是为了最好地解释本发明的原理和实际应用,使所属技术领域的普通技术人员能够明了,本发明可以有适合所要的特定用途的具有各种改变的各种实施方式。
图1显示了适于用来实现本公开实施方式的示例性计算系统100的框图。如图1所示,计算机系统100可以包括:CPU(中央处理单元)101、RAM(随机存取存储器)102、ROM(只读存储器)103、系统总线104、硬盘控制器105、键盘控制器106、串行接口控制器107、并行接口控制器108、显示控制器109、硬盘110、键盘111、串行外部设备112、并行外部设备113和显示器114。在这些设备中,与系统总线104耦合的有CPU 101、RAM 102、ROM 103、硬盘控制器105、键盘控制器106、串行控制器107、并行控制器108和显示控制器109。硬盘110与硬盘控制器105耦合,键盘111与键盘控制器106耦合,串行外部设备112与串行接口控制器107耦合,并行外部设备113与并行接口控制器108耦合,以及显示器114与显示控制器109耦合。应当理解,图1所述的结构框图仅仅为了示例的目的而示出的,而不是对本公开范围的限制。在某些情况下,可以根据具体情况而增加或者减少某些设备。
现在参考图2,其中显示了根据本公开的一个实施例的用于重用HTML内容的方法200的流程图。方法200从步骤202开始。
接下来,方法200进入步骤204,其中接收HTTP请求。可以由服务器接收从客户端浏览器发送的HTTP请求。客户端浏览器可以是现有技术中任意的浏览器,例如Internet 等等。
接下来,方法200进入步骤206,其中确定接收的HTTP请求存在指定请求部分HTML内容的特定参数。根据本公开的一个实施例,接收的HTTP请求中可以存在的指定请求部分HTML内容的特定参数包含DOM节点标识符,即该HTTP请求并非请求整个页面,而是特定参数中的DOM节点标识符对应的HTML内容。根据本公开的一个实施例,接收的HTTP请求中可以存在的指定请求部分HTML内容的特定参数还包含XPath,即该HTTP请求并非请求整个页面,而是特定参数中的DOM节点标识符以及XPath对应的HTML内容。所属领域技术人员知道,还可以采用现有技术中的其他任何方式来指定请求的部分HTML内容,这里不再一一介绍。
接下来,方法200进入步骤208,其中根据该特定参数获取部分HTML内容。根据本公开的一个实施例,可以通过获取特定参数中包含的DOM节点标识符,然后根据获取的DOM节点标识符获取对应的部分HTML内容。根据本公开的一个实施例,可以通过获取特定参数中包含的DOM节点标识符以及XPath,然后根据获取的DOM节点标识符以及XPath获取对应的部分HTML内容。通过分析接收的HTTP请求能够获取特定参数中包含的DOM节点标识符以及XPath。
接下来,方法200进入步骤210,其中输出获取的部分HTML内容。
下面将结合具体示例进一步说明。应该了解,下面的内容中加入的许多限制仅仅是出于说明的目的,而不能限制权利要求的保护范围。
首先,例如接收到如下HTTP请求:
http://w3.ibm.com/index.html?partial_domNodeIDs=hotLinksDiv
通过分析该HTTP请求确定其中存在指定请求部分HTML内容的特定参数,即:partial_domNodeIDs=hotLinksDiv。接下来,分析该HTTP请求得到该特定参数中包含的DOM节点标识符,即:domNodeIDs=hotLinksDiv,也就是说节点标识符为hotLinksDiv的DOM节点。接下来,根据该DOM节点标识符获取对应的部分HTML内容,具体的,可以通过首先根据w3.ibm.com/index.html获取整个静态页面的DOM节点树结构。例如页面内容为:
根据获取的DOM节点标识符domNodeIDs=hotLinksDiv扫描整个页面内容得到该DOM节点所在的位置以及对应的类型(例如是div、table等)。上面的例子中,该DOM节点位于下划线显示的位置,对应的类型为div。
进一步,根据得到的该DOM节点所在的位置和类型确定该节点的开始位置和结束位置。上面的例子中用黑体字表示。
接下来,获取节点的开始位置和结束位置之间的内容作为HTTP请求的部分HTML内容。上面的例子中为以下代码:
根据本公开的一个实施例,部分HTML内容可以包括CSS,根据该特定参数获取部分HTML内容进一步包括:获取特定参数中包含的DOM节点标识符;获取特定参数中包含的DOM节点标识符对应的CSS内容;将获取的CSS内容转化成对应的HTML元素的直接样式属性;将转化后的HTML元素的直接样式属性应用于获取的DOM节点标识符对应的部分HTML内容。下面结合具体实例说明上述过程。
以如下页面内容为例说明上述过程。
首先,获取特定参数中包含的DOM节点标识符,这里假设特定参数中包含的DOM节点的标识符为divl。然后,通过扫描页面内容获取HTML内容涉及的CSS内容。可以看到,与节点标识符为divl的DOM节点对应的CSS内容如下划线部分所示。
接下来,将获取的CSS内容转化成对应的HTML元素的直接样式属性。在上面的例子中,将上述下划线部分经过转化后的对应的HTML元素的直接样式属性为background-color:red;
最后,将转化后的HTML元素的直接样式属性应用于获取的DOM节点标识符对应的部分HTML内容。在上面的例子中,将转化后的对应的HTML元素的直接样式属性background-color:red应用于节点标识符为div1的DOM节点对应的HTML内容后得到的结果如下所示。
根据本公开的一个实施例,部分HTML内容可以包括JavaScript,根据该特定参数获取部分HTML内容进一步包括:获取特定参数中包含的DOM节点标识符;根据获取的DOM节点标识符获取对应的JavaScript方法列表;根据JavaScript方法列表获取JavaScript的调用路径。首先可以根据获取的DOM节点标识符获取对应的DOM节点并获取注册在该DOM上的JavaScript方法列表。然后,以获取的JavaScript方法列表为起点,获取JavaScript的调用路径。该JavaScript调用路径包括以上述获取的JavaScript方法列表为起点的调用路径上的所有JavaScript方法列表以及这些JavaScript方法所涉及的所有DOM节点。下面结合具体实例说明上述过程。
通常情况下存在两种方式向DOM节点注册事件:
(1)直接将事件写入DOM节点的属性中,例如:
<button id=″btn1″onclick=″fun1();″></button>
(2)利用JavaScript将事件写入DOM节点,例如:
首先获取特定参数中包含的DOM节点标识符。根据本公开的一个实施例,可以根据获取的DOM节点标识符获取第一种方式注册的事件,进而得到直接在DOM节点的属性中写入的JavaScript的方法列表1。根据本公开的一个实施例,可以根据获取的DOM节点标识符获取第二种方式注册的事件,进而得到通过JavaScript方法调用写入的JavaScript的方法列表2。根据本公开的一个实施例,可以将方法列表1和方法列表2组合得到一个完整的起始JavaScript方法列表。应该了解,有可能只存在方法列表1或只存在方法列表2,或者两者都存在。
接下来,根据JavaScript方法列表获取JavaScript的调用路径。以下面的JavaScript为例说明。假设根据获取的DOM节点标识符得到的JavaScript方法列表中包括fun1(),那么以fun1()为起点获取JavaScript的调用路径。可以看到fun1()调用fun2(),fun2()没有调用其他的方法。进一步地,对于每个方法fun1()和fun2(),获取每个方法涉及的DOM节点。也就是说,JavaScript的调用路径包括所有JavaScript方法列表以及所涉及的所有DOM节点。对于上例来说,获取的JavaScript调用路径包括JavaScript方法fun1()和JavaScript方法fun2()以及fun1()和fun2()所涉及的所有DOM节点。
根据本公开的一个实施例,可以根据获取的DOM节点标识符验证JavaScript的调用路径中的依赖关系,其中依赖关系指的是请求的部分HTML内容是否依赖于HTML内容的未请求部分;以及输出经过验证的JavaScript。以下面的页面内容为例。
假设针对下面的页面内容分别存在HTTP请求1和HTTP请求2,其中的HTTP请求1中的特定参数包含DOM节点标识符targetDiv1,HTTP请求2中的特定参数包含节点标识符targetDiv2。
首先,对于HTTP请求1,根据节点标识符targetDiv1得到对应的JavaScript调用路径为fun1()及其所涉及的DOM节点document.body。然后,以节点标识符targetDiv1验证该JavaScript调用路径发现,涉及的DOM节点document.body只是用来定位其本身,也就是说,fun1()不依赖于HTML内容的未请求部分,因此能够通过验证。然后,输出通过验证的JavaScript,即
然后,对于HTTP请求2,根据节点标识符targetDiv2得到对应的JavaScript调用路径为fun2()及其所涉及的DOM节点otherDiv。以节点标识符targetDiv2验证该JavaScript调用路径发现,涉及的标识符为otherDiv的DOM节点属于HTML内容的未请求部分,也就是说fun2()依赖于HTML内容的未请求部分,因此不能通过验证。可选的,对于不能通过验证的JavaScript调用路径,可以向用户返回一个警告,提示用户该部分HTML内容不能被单独重用。
现在参考图3,其中显示了根据本公开的一个实施例的用于重用HTML内容的系统300的框图。系统300包括:接收单元302,配置为接收HTTP请求;确定单元304,配置为确定接收的HTTP请求存在指定请求部分HTML内容的特定参数;获取单元306,配置为根据该特定参数获取部分HTML内容;输出单元308,配置为输出获取的部分HTML内容。
根据本公开的一个实施例,特定参数可以包含DOM节点标识符,其中获取单元进一步配置为:获取特定参数中包含的DOM节点标识符;以及根据获取的DOM节点标识符获取对应的部分HTML内容。根据本公开的一个实施例,特定参数可以包含XPath,其中获取单元进一步配置为:获取特定参数中包含的DOM节点标识符以及XPath;根据获取的DOM节点标识符以及XPath获取对应的部分HTML内容。
根据本公开的一个实施例,其中部分HTML内容包括CSS,获取单元进一步配置为:获取特定参数中包含的DOM节点标识符;获取特定参数中包含的DOM节点标识符对应的CSS内容;将获取的CSS内容转化成对应的HTML元素的直接样式属性;将转化后的HTML元素的直接样式属性应用于获取的DOM节点标识符对应的部分HTML内容。
根据本公开的一个实施例,其中部分HTML内容包括JavaScript,获取单元进一步配置为:获取特定参数中包含的DOM节点标识符;根据获取的DOM节点标识符获取对应的JavaScript方法列表;根据JavaScript方法列表获取JavaScript的调用路径。
根据本公开的一个实施例,系统300进一步包括:验证单元(未示出),配置为根据获取的DOM节点标识符验证JavaScript的调用路径中的依赖关系,其中依赖关系指的是请求的部分HTML内容是否依赖于HTML内容的未请求部分。
根据本公开的一个实施例,输出单元进一步配置为输出经过验证的JavaScript。
以上详细介绍了根据本公开的实施例的方法和系统。附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
所属技术领域的技术人员知道,本公开的多个方面可以体现为系统、方法或计算机程序产品。因此,本公开的多个方面可以具体实现为以下形式,即,可以是完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、或者本文一般称为“电路”、“模块”或“系统”的软件部分与硬件部分的组合。此外,本公开的多个方面还可以采取体现在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可用的程序码。
可以使用一个或多个计算机可读的介质的任何组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电的、磁的、光的、电磁的、红外线的、或半导体的系统、装置、器件或任何以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括以下:有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任何合适的组合。在本文件的语境中,计算机可读存储介质可以是任何包含或存储程序的有形的介质,该程序被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可包括在基带中或者作为载波一部分传播的、其中体现计算机可读的程序码的传播的数据信号。这种传播的信号可以采用多种形式,包括——但不限于——电磁信号、光信号或任何以上合适的组合。计算机可读的信号介质可以是并非为计算机可读存储介质、但是能发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序的任何计算机可读介质。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者任何合适的上述组合。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者任何合适的上述组合。
用于执行本公开的操作的计算机程序码,可以以一种或多种程序设计语言的任何组合来编写,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++之类,还包括常规的过程式程序设计语言—诸如”C”程序设计语言或类似的程序设计语言。程序码可以完全地在用户的计算上执行、部分地在用户的计算机上执行、作为一个独立的软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何种类的网络——包括局域网(LAN)或广域网(WAN)-连接到用户的计算机,或者,可以(例如利用因特网服务提供商来通过因特网)连接到外部计算机。
以下参照按照本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本公开的多个方面。要明白的是,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得通过计算机或其它可编程数据处理装置执行的这些指令,产生实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能指令计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令产生一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means)的制造品。
也可以把计算机程序指令加载到计算机或其它可编程数据处理装置上,使得在计算机或其它可编程数据处理装置上执行一系列操作步骤,以产生计算机实现的过程,从而在计算机或其它可编程装置上执行的指令就提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
还需要指出的是,在本公开的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
虽然已经详细说明了本公开及其优点,但是应当理解在不脱离由所附的权利要求所限定的本公开的精神和范围的情况下可以进行各种改变、替代和变换。而且,本申请的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者装置中还存在另外的相同要素。

Claims (14)

1.一种用于重用HTML内容的方法,包括:
接收HTTP请求;
确定接收的HTTP请求存在指定请求部分HTML内容的特定参数,其中部分HTML内容包括CSS,其中特定参数包含DOM节点标识符;
根据该特定参数获取部分HTML内容,包括:
获取特定参数中包含的DOM节点标识符;
获取特定参数中包含的DOM节点标识符对应的CSS内容;
将获取的CSS内容转化成对应的HTML元素的直接样式属性;
将转化后的HTML元素的直接样式属性应用于获取的DOM节点标识符对应的部分HTML内容;
输出获取的部分HTML内容。
2.根据权利要求1的方法,其中根据该特定参数获取部分HTML内容进一步包括:
获取特定参数中包含的DOM节点标识符;以及
根据获取的DOM节点标识符获取对应的部分HTML内容。
3.根据权利要求1的方法,其中特定参数还包含XPath。
4.根据权利要求3的方法,其中根据该特定参数获取部分HTML内容进一步包括:
获取特定参数中包含的DOM节点标识符以及XPath;
根据获取的DOM节点标识符以及XPath获取对应的部分HTML内容。
5.根据权利要求1的方法,其中部分HTML内容还包括JavaScript,根据该特定参数获取部分HTML内容进一步包括:
获取特定参数中包含的DOM节点标识符;
根据获取的DOM节点标识符获取对应的JavaScript方法列表;
根据JavaScript方法列表获取JavaScript的调用路径。
6.根据权利要求5的方法,进一步包括:
根据获取的DOM节点标识符验证JavaScript的调用路径中的依赖关系,其中依赖关系指的是请求的部分HTML内容是否依赖于HTML内容的未请求部分。
7.根据权利要求6的方法,进一步包括:
输出经过验证的JavaScript。
8.一种用于重用HTML内容的系统,包括:
接收单元,配置为接收HTTP请求;
确定单元,配置为确定接收的HTTP请求存在指定请求部分HTML内容的特定参数,其中部分HTML内容包括CSS,其中特定参数包含DOM节点标识符;
获取单元,配置为根据该特定参数获取部分HTML内容,配置为:
获取特定参数中包含的DOM节点标识符;
获取特定参数中包含的DOM节点标识符对应的CSS内容;
将获取的CSS内容转化成对应的HTML元素的直接样式属性;
将转化后的HTML元素的直接样式属性应用于获取的DOM节点标识符对应的部分HTML内容;
输出单元,配置为输出获取的部分HTML内容。
9.根据权利要求8的系统,其中获取单元进一步配置为:
获取特定参数中包含的DOM节点标识符;以及
根据获取的DOM节点标识符获取对应的部分HTML内容。
10.根据权利要求8的系统,其中特定参数还包含XPath。
11.根据权利要求10的系统,其中获取单元进一步配置为:
获取特定参数中包含的DOM节点标识符以及XPath;
根据获取的DOM节点标识符以及XPath获取对应的部分HTML内容。
12.根据权利要求10的系统,其中部分HTML内容还包括JavaScript,获取单元进一步配置为:
获取特定参数中包含的DOM节点标识符;
根据获取的DOM节点标识符获取对应的JavaScript方法列表;
根据JavaScript方法列表获取JavaScript的调用路径。
13.根据权利要求12的系统,进一步包括:
验证单元,配置为根据获取的DOM节点标识符验证JavaScript的调用路径中的依赖关系,其中依赖关系指的是请求的部分HTML内容是否依赖于HTML内容的未请求部分。
14.根据权利要求13的系统,其中:
输出单元进一步配置为输出经过验证的JavaScript。
CN201110391155.9A 2011-11-30 2011-11-30 用于重用html内容的方法和系统 Active CN103139260B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201110391155.9A CN103139260B (zh) 2011-11-30 2011-11-30 用于重用html内容的方法和系统
US13/683,152 US9507759B2 (en) 2011-11-30 2012-11-21 Method and system for reusing HTML content
US15/338,400 US10318616B2 (en) 2011-11-30 2016-10-30 Method and system for reusing HTML content
US16/393,957 US10678994B2 (en) 2011-11-30 2019-04-25 Method and system for reusing HTML content

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110391155.9A CN103139260B (zh) 2011-11-30 2011-11-30 用于重用html内容的方法和系统

Publications (2)

Publication Number Publication Date
CN103139260A CN103139260A (zh) 2013-06-05
CN103139260B true CN103139260B (zh) 2015-09-30

Family

ID=48467962

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110391155.9A Active CN103139260B (zh) 2011-11-30 2011-11-30 用于重用html内容的方法和系统

Country Status (2)

Country Link
US (3) US9507759B2 (zh)
CN (1) CN103139260B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103139260B (zh) 2011-11-30 2015-09-30 国际商业机器公司 用于重用html内容的方法和系统
CN105827677A (zh) * 2015-01-04 2016-08-03 深圳市领耀东方科技股份有限公司 一种第三方程序与主程序的交互方法
TWI617926B (zh) * 2015-01-16 2018-03-11 黃俊宏 動態產生文字物件與連結的方法
US10769351B2 (en) * 2015-05-08 2020-09-08 Citrix Systems, Inc. Rendering based on a document object model
CN106446677A (zh) * 2016-09-21 2017-02-22 中科信息安全共性技术国家工程研究中心有限公司 一种XPath注入漏洞检测及防御系统及方法
CN106445547A (zh) * 2016-10-11 2017-02-22 福建中金在线信息科技有限公司 一种美化下拉选框的生成方法及装置
US11308267B1 (en) * 2020-09-25 2022-04-19 UiPath, Inc. Artifacts reference creation and dependency tracking

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1987850A (zh) * 2005-12-20 2007-06-27 腾讯科技(深圳)有限公司 一种实现ajax网页的方法
CN101089856A (zh) * 2007-07-20 2007-12-19 李沫南 一种提取网页数据的方法和Web爬虫系统
CN101763425A (zh) * 2010-01-12 2010-06-30 苏州阔地网络科技有限公司 一种通用的可用于任何网页的网页内容抓取的方法
CN102124481A (zh) * 2008-06-26 2011-07-13 谷歌公司 在具有广告的网页中嵌入宏
CN102214098A (zh) * 2011-06-15 2011-10-12 中山大学 一种基于WebKit浏览器引擎的动态页面数据采集方法

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061698A (en) * 1997-10-22 2000-05-09 International Business Machines Corporation Merging tagged documents and scripts having dynamic content
US6829746B1 (en) * 1999-12-09 2004-12-07 International Business Machines Corp. Electronic document delivery system employing distributed document object model (DOM) based transcoding
EP1117049A1 (en) * 2000-01-14 2001-07-18 Sun Microsystems, Inc. Dynamic conversion of data
US7207000B1 (en) * 2000-02-24 2007-04-17 International Business Machines Corporation Providing dynamic web pages by separating scripts and HTML code
JP3703080B2 (ja) * 2000-07-27 2005-10-05 インターナショナル・ビジネス・マシーンズ・コーポレーション ウェブコンテンツを簡略化するための方法、システムおよび媒体
US7047318B1 (en) * 2001-04-20 2006-05-16 Softface, Inc. Method and apparatus for creating and deploying web sites with dynamic content
EP1430420A2 (en) * 2001-05-31 2004-06-23 Lixto Software GmbH Visual and interactive wrapper generation, automated information extraction from web pages, and translation into xml
US20030018668A1 (en) * 2001-07-20 2003-01-23 International Business Machines Corporation Enhanced transcoding of structured documents through use of annotation techniques
GB0326915D0 (en) * 2003-11-19 2003-12-24 Ibm A method and system for updating/reloading the content of pages browsed over a network
US7805523B2 (en) * 2004-03-15 2010-09-28 Mitchell David C Method and apparatus for partial updating of client interfaces
US7536389B1 (en) * 2005-02-22 2009-05-19 Yahoo ! Inc. Techniques for crawling dynamic web content
US7805670B2 (en) * 2005-12-16 2010-09-28 Microsoft Corporation Partial rendering of web pages
US7676465B2 (en) * 2006-07-05 2010-03-09 Yahoo! Inc. Techniques for clustering structurally similar web pages based on page features
US7941420B2 (en) * 2007-08-14 2011-05-10 Yahoo! Inc. Method for organizing structurally similar web pages from a web site
US20080033996A1 (en) * 2006-08-03 2008-02-07 Anandsudhakar Kesari Techniques for approximating the visual layout of a web page and determining the portion of the page containing the significant content
CN101657813A (zh) 2007-04-04 2010-02-24 香港科技大学 移动设备上网页的自定义渲染
JP4395178B2 (ja) * 2007-05-29 2010-01-06 インターナショナル・ビジネス・マシーンズ・コーポレーション コンテンツ処理システム、方法及びプログラム
US7917846B2 (en) * 2007-06-08 2011-03-29 Apple Inc. Web clip using anchoring
WO2008157322A1 (en) * 2007-06-13 2008-12-24 Quattro Wireless, Inc. Displaying content on a mobile device
US7752222B1 (en) * 2007-07-20 2010-07-06 Google Inc. Finding text on a web page
US20090037517A1 (en) * 2007-08-02 2009-02-05 Randall Wayne Frei Method and system to share content between web clients
US20090248707A1 (en) * 2008-03-25 2009-10-01 Yahoo! Inc. Site-specific information-type detection methods and systems
CN101593184B (zh) * 2008-05-29 2013-05-15 国际商业机器公司 自适应地定位动态网页元素的系统和方法
US8413061B2 (en) * 2008-08-05 2013-04-02 Accenture Global Services Limited Synchronous to asynchronous web page conversion
US20100251143A1 (en) * 2009-03-27 2010-09-30 The Ransom Group, Inc. Method, system and computer program for creating and editing a website
RU2475832C1 (ru) * 2009-03-30 2013-02-20 Нокиа Корпорейшн Способы и системы обработки объектных моделей документов (dom) для обработки видеоконтента
US9330395B2 (en) * 2009-05-05 2016-05-03 Suboti, Llc System, method and computer readable medium for determining attention areas of a web page
CN101620621A (zh) 2009-08-11 2010-01-06 中兴通讯股份有限公司 一种网页切分方法及系统
US8577961B2 (en) 2010-01-28 2013-11-05 Qualcomm Innovation Center, Inc. Methods and apparatus for obtaining content with reduced access times
US20110302285A1 (en) * 2010-06-07 2011-12-08 Quora, Inc. Update server to update rendered content
US9064029B2 (en) * 2010-06-07 2015-06-23 Quora, Inc. Dynamically identifying and evaluating component hierarchy for rendering content components on a webpage
US8375296B2 (en) * 2010-06-30 2013-02-12 Samsung Electronics Co., Ltd. Reusing style sheet assets
CA2706743A1 (en) * 2010-06-30 2010-09-08 Ibm Canada Limited - Ibm Canada Limitee Dom based page uniqueness indentification
US20120110437A1 (en) * 2010-10-28 2012-05-03 Microsoft Corporation Style and layout caching of web content
US8533684B2 (en) * 2010-11-01 2013-09-10 International Business Machines Corporation Source identification of compliance errors in a web page with custom widgets
GB2492096B (en) * 2011-06-21 2014-02-19 Canon Kk Method for processing a structured document to render, and corresponding processor
CN103139260B (zh) 2011-11-30 2015-09-30 国际商业机器公司 用于重用html内容的方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1987850A (zh) * 2005-12-20 2007-06-27 腾讯科技(深圳)有限公司 一种实现ajax网页的方法
CN101089856A (zh) * 2007-07-20 2007-12-19 李沫南 一种提取网页数据的方法和Web爬虫系统
CN102124481A (zh) * 2008-06-26 2011-07-13 谷歌公司 在具有广告的网页中嵌入宏
CN101763425A (zh) * 2010-01-12 2010-06-30 苏州阔地网络科技有限公司 一种通用的可用于任何网页的网页内容抓取的方法
CN102214098A (zh) * 2011-06-15 2011-10-12 中山大学 一种基于WebKit浏览器引擎的动态页面数据采集方法

Also Published As

Publication number Publication date
US20170046318A1 (en) 2017-02-16
US9507759B2 (en) 2016-11-29
US10678994B2 (en) 2020-06-09
US10318616B2 (en) 2019-06-11
US20130139050A1 (en) 2013-05-30
CN103139260A (zh) 2013-06-05
US20190251147A1 (en) 2019-08-15

Similar Documents

Publication Publication Date Title
CN103139260B (zh) 用于重用html内容的方法和系统
US9336001B2 (en) Dynamic instrumentation
CN111142988B (zh) 页面测试方法、装置、存储介质及电子设备
US9529648B2 (en) Generic declaration of bindings between events and event handlers regardless of runtime structure
US8181104B1 (en) Automatic creation of cascading style sheets
US20170083495A1 (en) Method for Modifying Webpage and Apparatus for Modifying Webpage
US8601439B2 (en) Networked program dependency compatibility analysis
JP2015508190A (ja) スクリプト・ファイル依存性およびロード時間の管理
CN110673847A (zh) 配置页面的生成方法、装置、电子设备和可读存储介质
CN111736840A (zh) 小程序应用的编译方法、运行方法、存储介质及电子设备
CN110609755A (zh) 跨区块链节点的消息处理方法及装置、设备、介质
WO2016176059A1 (en) Mapping between local and remote for seamless build and design time experience
WO2013097718A1 (en) Method and device for detecting malicious code on web pages
JP2023541186A (ja) 可視化ページレンダリング方法、装置、機器及び記憶媒体
CN110457049A (zh) 实现插件自动化的方法、装置、电子设备及存储介质
CN111984262A (zh) 微信层叠样式表文件的处理方法、装置、设备及存储介质
JP2018169693A (ja) 情報処理装置、情報処理方法および情報処理プログラム
CN110381363A (zh) 视频解码方法、装置、服务器及存储介质
US20190073198A1 (en) Multi-flavored software execution from a singular code base
CN109947431A (zh) 一种代码生成方法、装置、设备及存储介质
CN110442419B (zh) Android应用的界面布局方法及装置
CN109684192B (zh) 基于数据处理的本地测试方法、设备、存储介质及装置
CN111158777A (zh) 组件调用方法、装置及计算机可读存储介质
CN112015497B (zh) 换肤方法及装置
CN110309000B (zh) 应用更新提示方法及终端设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant