CN104246762A - Html5i-frame扩展 - Google Patents
Html5i-frame扩展 Download PDFInfo
- Publication number
- CN104246762A CN104246762A CN201380017573.9A CN201380017573A CN104246762A CN 104246762 A CN104246762 A CN 104246762A CN 201380017573 A CN201380017573 A CN 201380017573A CN 104246762 A CN104246762 A CN 104246762A
- Authority
- CN
- China
- Prior art keywords
- attribute
- label
- web document
- processor
- independent sector
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/986—Document structures and storage, e.g. HTML extensions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/117—Tagging; Marking up; Designating a block; Setting of attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/221—Parsing markup language streams
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
- Document Processing Apparatus (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
各个方面提供了用于标识HTML文档的独立部分以使得所标识部分可被并行处理的方法、服务器和系统。可以将这些独立部分与具有无缝和沙盒属性两者的iframe标签相关联。在运行时,浏览器可以检测到两个属性的存在,并且并行地处理iframe的内容。
Description
相关申请
本申请要求于2012年3月30日提交的题为“HTML5I-Frame Extension(HTML5I-Frame扩展)”的美国临时专利申请No.61/618,254的优先权权益,其全部内容通过援引纳入于此。
背景技术
移动和无线技术在过去数年已见证爆发式增长。此增长已被更好的通信、硬件、以及更可靠的协议推动。无线服务提供商现在能够向它们的消费者提供一大批不断增长的特征和服务,并且向用户提供对信息、资源、和通信的空前的访问级别。为了跟上这些增强,移动设备(例如,蜂窝电话、智能电话、平板计算机等)已变得比以前更为特征丰富,并且现在通常包括web浏览器和其他基于因特网的软件应用。随着移动设备日益流行,改善移动web浏览器的速度和功耗特性变得愈发重要。
概述
各个方面包括在计算设备的web浏览器中处理内容的方法,该方法可以包括标识web文档的独立部分,将该文档划分成多个文件(每个独立部分被包括在一个文件中),将标签与该多个文件相关联(该标签具有第一属性和第二属性),将对该多个文件以及相关联的标签的引用插入该web文档中,以及将该web文档发送到在计算设备中执行的浏览器应用。在一个方面,该方法可以包括在该计算设备中执行的浏览器应用中接收该web文档,确定该web文档内的标签是否包括第一属性和第二属性两者,以及响应于确定该标签包括第一和第二属性两者,处理与该标签相关联的多个文件。在又一方面,该方法可以包括响应于确定该标签包括第一和第二属性两者,确定第一属性是否在该标签中被包括在第二属性之前,以及当第一属性在相同标签中被包括在第二属性之前时并行地处理该多个文件。在又一方面,该方法可以包括响应于确定该标签包括第一和第二属性两者,确定第二属性是否在该标签中被包括在第一属性之前,以及当第二属性在相同标签中被包括在第一属性之前时顺序地处理该多个文件。在又一方面,确定该web文档内的标签是否包括第一属性和第二属性两者可以包括确定iframe标签是否包括沙盒属性和无缝属性两者。在又一方面,标识web文档的独立部分可以包括标识超文本标记语言(HTML)文档的独立部分。在又一方面,标识web文档的独立部分可以包括标识web文档的不共享状态信息的独立部分。在又一方面,标识web文档的独立部分可以由外部工具来实现。在又一方面,标识web文档的独立部分可以由web服务器来实现。在又一方面,标识web文档的独立部分可以在该web文档的运行时之前由该计算设备中执行的浏览器应用来实现。
其他方面包括一种具有用处理器可执行指令配置成执行操作的处理器的计算设备,该操作包括:标识web文档的独立部分,将该文档划分成多个文件(每个独立部分被包括在一个文件中),将标签与该多个文件相关联(该标签具有第一属性和第二属性),将对该多个文件以及相关联的标签的引用插入该web文档中,以及将该web文档发送到在计算设备中执行的浏览器应用。在又一方面,该处理器可以用处理器可执行指令配置成执行操作,该操作进一步包括:标识web文档的独立部分包括标识超文本标记语言(HTML)文档的独立部分。在又一方面,该处理器可以用处理器可执行指令配置成执行操作,该操作进一步包括:标识web文档的独立部分包括标识web文档的不共享状态信息的独立部分。在又一方面,该处理器可以用处理器可执行指令配置成执行操作,该操作进一步包括:标识web文档的独立部分是由外部工具来完成的。在又一方面,该计算设备可以是web服务器。在又一方面,该处理器可以用处理器可执行指令来配置以使得:将标签与该多个文件相关联包括将包括沙盒属性和无缝属性两者的iframe标签与该多个文件相关联。
其他方面包括一种具有用处理器可执行指令配置成执行操作的处理器的计算设备,该操作包括:在该计算设备中执行的浏览器应用中接收该web文档,确定该web文档内的标签是否包括第一属性和第二属性两者,以及响应于确定该标签包括第一和第二属性两者,处理与该标签相关联的多个文件。在又一方面,该处理器可以用处理器可执行指令配置成执行操作,该操作进一步包括响应于确定该标签包括第一和第二属性两者,确定第一属性是否在该标签中被包括在第二属性之前,以及当第一属性在相同标签中被包括在第二属性之前时并行地处理该多个文件。在又一方面,该处理器可以用处理器可执行指令配置成执行操作,该操作进一步包括响应于确定该标签包括第一和第二属性两者,确定第二属性是否在该标签中被包括在第一属性之前,以及当第二属性在相同标签中被包括在第一属性之前时顺序地处理该多个文件。在又一方面,该处理器可以用处理器可执行指令配置成执行操作,该操作进一步包括:确定该web文档内的标签是否包括第一属性和第二属性两者包括确定iframe标签是否包括沙盒属性和无缝属性两者。在又一方面,该处理器可以用处理器可执行指令配置成执行操作,该操作进一步包括:标识web文档的独立部分是由浏览器应用在运行时之前完成的。
其他方面包括一种计算设备,其具有:用于标识web文档的独立部分的装置,用于将该文档划分成多个文件的装置,用于将标签与该多个文件相关联的装置,用于将对该多个文件以及相关联的标签的引用插入该web文档中的装置,以及用于将该web文档发送到在计算设备中执行的浏览器应用的装置。在一个方面,用于标识web文档的独立部分的装置可以包括用于标识超文本标记语言(HTML)文档的独立部分的装置。在一个方面,用于标识web文档的独立部分的装置可以包括用于标识web文档的不共享状态信息的独立部分的装置。在一个方面,用于标识web文档的独立部分的装置可以包括用于经由外部工具来标识web文档的独立部分的装置。在又一方面,用于标识web文档的独立部分的装置可以是web服务器。在又一方面,用于将标签与该多个文件相关联的装置包括用于将包括沙盒属性和无缝属性两者的iframe标签与该多个文件相关联的装置。
其他方面包括一种计算设备,其具有:用于在该计算设备中执行的浏览器应用中接收web文档的装置,用于确定该web文档内的标签是否包括第一属性和第二属性两者的装置,以及用于响应于确定该标签包括第一和第二属性两者,处理与该标签相关联的多个文件的装置。在一个方面,该计算设备可以包括用于响应于确定该标签包括第一和第二属性两者,确定第一属性是否在该标签中被包括在第二属性之前的装置,以及用于当第一属性在相同标签中被包括在第二属性之前时并行地处理该多个文件的装置。在一个方面,该计算设备可以包括用于响应于确定该标签包括第一和第二属性两者,确定第二属性是否在该标签中被包括在第一属性之前的装置,以及用于当第二属性在相同标签中被包括在第一属性之前时顺序地处理该多个文件的装置。在一个方面,用于确定该web文档内的标签是否包括第一属性和第二属性两者的装置可以包括用于确定iframe标签是否包括沙盒属性和无缝属性两者的装置。在又一方面,用于标识web文档的独立部分的装置可以包括用于经由浏览器应用在运行时之前标识独立部分的装置。
其他方面包括一种其上存储有处理器可执行指令的非瞬态服务器可读存储介质,该指令被配置成使计算设备执行操作,该操作包括:标识web文档的独立部分,将该文档划分成多个文件,将标签与该多个文件相关联,将对该多个文件以及相关联的标签的引用插入该web文档中,以及将该web文档发送到在计算设备中执行的浏览器应用。在又一方面,所存储的处理器可执行软件指令可以被配置成使处理器执行操作以使得:标识web文档的独立部分包括标识web文档的不共享状态信息的独立部分。在又一方面,所存储的处理器可执行软件指令可以被配置成使处理器执行操作以使得:标识web文档的独立部分是由外部工具来完成的。在又一方面,所存储的处理器可执行软件指令可以被配置成在web服务器上执行。在又一方面,所存储的处理器可执行软件指令可以被配置成使处理器执行操作以使得:将标签与该多个文件相关联包括将包括沙盒属性和无缝属性两者的iframe标签与该多个文件相关联。
其他方面包括一种其上存储有处理器可执行指令的非瞬态服务器可读存储介质,该指令被配置成使计算设备执行操作,该操作包括:在该计算设备中执行的浏览器应用中接收web文档,确定该web文档内的标签是否包括第一属性和第二属性两者,以及响应于确定该标签包括第一和第二属性两者,处理与该标签相关联的多个文件。在又一方面,所存储的处理器可执行软件指令可以被配置成使处理器执行操作以用于:响应于确定该标签包括第一和第二属性两者,确定第一属性是否在该标签中被包括在第二属性之前,以及当第一属性在相同标签中被包括在第二属性之前时并行地处理该多个文件。在又一方面,所存储的处理器可执行软件指令可以被配置成使处理器执行操作以用于:在该计算设备中执行的浏览器应用中接收web文档,响应于确定该标签包括第一和第二属性两者,确定第二属性是否在该标签中被包括在第一属性之前,以及当第二属性在相同标签中被包括在第一属性之前时顺序地处理该多个文件。在又一方面,所存储的处理器可执行软件指令可以被配置成使处理器执行操作以使得:确定该web文档内的标签是否包括第一属性和第二属性两者包括确定iframe标签是否包括沙盒属性和无缝属性两者。在又一方面,所存储的处理器可执行软件指令可以被配置成使处理器执行操作以使得:标识web文档的独立部分包括标识超文本标记语言(HTML)文档的独立部分。在又一方面,所存储的处理器可执行软件指令可以被配置成使处理器执行操作以使得:标识web文档的独立部分由该浏览器应用在运行时之前(即,在呈现该web文档之前)完成。
附图简述
纳入本文且构成本说明书一部分的附图解说了本发明的示例性方面,并与以上给出的一般描述和下面给出的详细描述一起用来解释本发明的特征。
图1是解说适于实现各种方面的示例网络中的逻辑组件和流程的组件框图。
图2是用于标识和标记HTML web文档的独立部分的方法的一个方面的过程流程图。
图3是用于并行地处理HTML web文档的独立部分的方法的一个方面的过程流程图。
图4是适于与各种方面联用的示例HTML标签的解说。
图5是适于与各种方面联用的示例移动设备的解说。
图6是适于与各种方面联用的示例个人计算机的解说。
图7是适于与各种方面联用的示例服务器的解说。
详细描述
将参照附图详细描述各个方面。在可能之处,相同附图标记将贯穿附图用于指代相同或类似部分。对特定示例和实现所作的引用是用于解说性目的,而无意限定本发明或权利要求的范围。
术语“代码”和“脚本”在本文可一般和互换地使用,并且涵盖可被应用使用或呈现的数据和内容。还应理解,本文公开的各种方面可应用于应用(例如浏览器)的任何方面,包括代码和内容两者。
术语“计算设备”在本文一般用于指以下各项中的任何一项或全部:服务器、个人计算机、移动设备、蜂窝电话、个人数据助理(PDA)、智能电话、全球定位系统(GPS)接收机、无线游戏控制器、以及包括配置有web浏览器类型应用的可编程处理器的类似个人电子设备。尽管各种方面对于具有有限处理能力的移动设备(诸如蜂窝电话)特别有用,但这些方面在执行以脚本语言编写的脚本和应用的任何计算设备中都普遍有用。
术语“资源”在本文用于指以下各项中的任何一项:用来支持在计算设备上运行的处理器和客户机的各种各样的电路(例如,端口、时钟、总线、振荡器等)、组件(例如,存储器)、信号(例如,时钟信号)以及电压(例如,电压轨)。
术语“队列”在本申请中一般用于指包含有序的对象集合的线性数据结构。对该队列的主要操作是向后端位置添加实体以及从前端位置移除实体。队列一般是先入先出(FIFO)数据结构,其中添加到该队列的第一元素将首先被移除。如本文使用的队列可以使用环形缓冲器、链表、和/或指针阵列来实现。链表是包括对象序列的数据结构,对象序列包含到该序列中的下一记录的引用链接。链表允许通过修改一个或多个个体对象的引用链接来在列表中的任何位置插入和/或移除对象。因此,所链接项的次序可以不同于数据项被存储在存储器中或盘上的次序。
超文本标记语言(HTML)是实现ISO/IEC 15445标准的基于流行标准的标记语言。HTML可以被表征为用来描述网页以使其能被软件应用(诸如web浏览器)显示的一组标记标签(例如,注释)。HTML通过标示文本的结构语义(诸如,标题、段落、列表、链接、援引和其他项)来允许结构化文档的创建。HTML被许多web浏览器用来将内容(例如,文本、图像等)解释和构成为视觉或可听的网页(在本文中有时称为“web文档”)。
HTML可以嵌入能够影响包含HTML页面的行为和/或呈现的代码。嵌入的代码还可以生成能被插入包含HTML页面(被嵌入其中的HTML代码)中的附加HTML代码。可用来将功能嵌入HTML代码以使这些功能与HTML页面的文档对象模型(DOM)交互、以及操纵DOM。DOM是语言无关协定,用于表示HTML中的对象并且与这些对象交互,以及允许代码访问并且操纵包含HTML页面。
本文使用HTML和相关术语作为可被用来实现各个方面的编程/标记语言的方便示例描述了各个方面。然而,应理解,与HTML有关的示例和其它参考仅是出于解说目的,而并不旨在将这些描述或方面限定于任何特定编程语言。因此,权利要求的范围不应被解读为要求HTML,除非在权利要求中特别声明。
如以上提到的,移动设备日益流行,并且移动设备用户花费越来越多的时间量来消费来自因特网上的媒体。同样如以上提到的,改善移动web浏览器的速度和功耗特性对于移动设备制造商而言是重要的设计目标。各个方面提供用于并行地处理网页的改善的浏览器方法,以便改善呈现速度而不会显著地影响计算设备的功耗特性。
一般而言,执行软件应用所需的时间量与必需执行的指令数量乘以执行每条指令所需的平均时间成比例。增加处理器的时钟频率(即,时钟速率)会降低执行每条指令所需的平均时间,从而改善总体执行时间。然而,增加时钟频率也会增加移动设备所消耗的功率量,这可导致减少的电池寿命。在资源受限的环境中(这在其中电池寿命和功耗特性是重要考量的移动设备中是典型的),简单地增加时钟频率可能无法改善用户体验,因为对电池寿命的负面影响可胜过处理速度的改善。
并行处理是其中较大的过程被分成较小的任务并且由多个处理器或处理器核并发地(即,并行)执行的处理技术。高效并行处理方案改善了执行时间,而不会显著地影响功耗或电池寿命。由于移动设备用户花费越来越多的时间量来消费来自因特网上的媒体,因此实现能够高效地并行处理网页的web浏览器对于移动设备的制造者而言已变为重要的设计目标。
并行处理网页需要对页面中的所有元素执行依赖性分析。在运行时执行该分析一般过于昂贵(例如,在时间、能量、资源等方面),因为在运行时执行此类操作的成本通常会抵消并行处理的益处。为克服该局限,依赖性可以(例如,在运行时之前)被静态地指定并且被编码到网页中。在运行时,浏览器应用可以使用经编码的信息来标识网页的独立部分,并且并行地处理所标识部分。
静态地指定依赖性需要浏览器花费时间和能量来检测并且标识页面呈现操作的独立部分,或需要软件开发者手动地标识并在网页中编码此类信息。使用现有解决方案,手动地编码此类信息需要开发者将HTML标准未定义的专用HTML标签添加到网页。
各个方面通过提供用于标识HTML文档的独立部分而不会在运行时消耗过量的时间或能量也不需要开发者手动地将专用HTML标签编码到网页中的改善的方法,从而克服了用于并行处理HTML web文档的其他解决方案的缺陷。
如以上提到的,HTML是web浏览器用来解释和构成内容(例如,文本、图像等)的基于流行标准的标记语言。HTML支持使用使web浏览器能够在相同浏览器窗口内显示一个或多个网页或媒体元素的框架(例如,<frame>,<iframe>等)。具体而言,HTML框架允许将视觉浏览器窗口拆分成两个或更多个片段,从而每个片段可以显示不同的文档(例如,网页、媒体元素等)。“内联框架(inline frame)”或即“iframe”是特定类型的HTML框架,该HTML框架使两个或更多个文档(在本文中为“嵌入文档”)能够在视觉上被嵌入另一文档(在本文中为“主文档”)中并且显示在相同页面上。
尽管HTML框架和iframe的通用属性由HTML规范定义,但HTML规范没有提供关于存在iframe时如何在主文档与嵌入文档之间实现视觉和数据交互的任何指导。现有的浏览器解决方案可以使用专用HTML标签来定义这些交互。然而,此类专用标签不受HTML标准支持并且在各浏览器实现之间有所不同,由此降低了代码的可移植性和后向兼容性。
HTML5是HTML标准的第五版,并且旨在改善HTML对多媒体应用的支持同时维持与现有系统(例如,现有web浏览器、解析器等)的后向兼容性。HTML5规范引入iframe的旨在阐明iframe交互并使其标准化的两个新属性:“沙盒(sandbox)”属性和“无缝(seamless)”属性。“沙盒”属性指令浏览器通过不允许/禁用各种特征来对iframe进行“沙盒”操作。“无缝”属性指令浏览器要以使其表现为包含文档的一部分的方式来呈现iframe元素的浏览上下文(即,无缝地包括在主文档中)。这两个iframe属性(例如,无缝和沙盒)一般理解为不兼容且互斥的,并且HTML5规范没有定义在相同iframe标签中指定这两个属性的情况下要执行的行为。因此,现有的浏览器解决方案仅支持一次执行与一个属性相关联的操作。例如,如果两个属性都被包括在相同iframe中,则现有的解决方案可能仅执行与首先遇到的标签相关联的操作。
各个方面提供实现当“无缝”和“沙盒”属性两者都被包括在相同iframe标签中时支持并行处理的行为的方法,由此定义当两个标签都存在时执行的新(即,第三)操作。各个方面通过使用“沙盒”和“无缝”属性的组合来标识HTML文档的不共享状态信息(这是并行处理所要求的)的独立部分,从而改善HTML页面加载的性能和呈现时间。各个方面标识HTML文档的独立部分而不会消耗过量的时间或能量,也不需要对专用HTML标签的手动编码。
如以上讨论的,HTML页面的并发处理需要对文档中所有元素执行依赖性分析,这在运行时执行起来一般过于昂贵。这些依赖性可以提前被静态地指定并且被编码到网页中,使得浏览器可以标识可并行执行的独立部分。然而,由于HTML标准没有定义用于检测这些独立部分的标签,因此现有的浏览器解决方案需要浏览器花费时间和能量来标识独立部分。各个方面使得开发者、离线工具和/或服务器能够(例如,在运行时之前)用标签在浏览器外部标识文档的独立片段,由此降低浏览器标识独立部分所需的时间和能量。
HTML文档的独立部分可以按多种不同方式在浏览器外部进行标识。例如,应用开发者可以手动地标识独立部分,离线静态工具可以分析页面以标识独立部分,或web服务器可以执行分析以标识独立部分。一旦独立部分被标识出,文档就可被划分成若干文件。这些文件可以用两个iframe属性(例如,无缝和沙盒)来标记并且被合并回原始HTML文档中。例如,可以使用存在“无缝”和“沙盒”属性两者的<iframe>标签(例如,<iframe seamless sandboxsrc=”…”/>等)将文件合并回原始HTML文档中。
在一个方面,属性存在于iframe标签中的次序可以标识要执行的操作。例如,浏览器可以被配置成把在iframe中在无缝属性之前包括沙盒属性解释成意味着iframe的内容独立于文档的其余部分并且可以按任何次序(例如,与其他过程并行)处理。同样,浏览器可以被配置成把在iframe中在沙盒属性之前包括无缝属性解释成意味着iframe的内容应当按次序和/或在包含文档的上下文中进行处理。以此方式,各个方面使得能够容易地向浏览器标识独立部分,以便更高效地并行处理HTML页面,同时保持与现有的浏览器后向兼容。即,由于HTML5规范没有定义当无缝和沙盒属性两者存在于相同iframe中时应当发生什么,因此将这两个属性包括在HTML代码中不会导致大多数现有的浏览器解决方案失败,因为这些解决方案将如同它们通常那样简单地处理文档(例如,忽略第二个属性)。
图1解说了根据各个方面的可用于HTML页面的并行处理的示例网络100。网络100可以包括经由因特网104将内容递送给客户机106的web/内容服务器102、以及被配置成在运行时之前执行浏览器操作的离线/外部工具114。客户机106可包括网络接口模块108、显示模块116、存储器118、和web浏览器110。浏览器110可包括用于处理、解释和/或呈现HTML内容的HTML处理器112。外部/离线工具114可在网络100中的任何地方实现,诸如在web服务器(例如,web服务器102)上、作为单独服务器、代理,或者在客户机106上。外部/离线工具114可实现为独立过程或作为浏览器110的一部分。
在一个方面,浏览器110可被配置成将某些浏览器操作卸载至离线/外部工具114,从而经卸载的操作与其它操作在时间和/或空间上分离(即,由不同机器提前执行)。在一个方面,浏览器110可被配置成将与分析和标记HTML代码相关联的操作卸载到外部/离线工具114。在一个方面,外部/离线工具114可以是浏览器110的一部分,并包括在客户机106检测到它连接至电源和/或处于空闲时预处理HTML代码的预处理器。
外部工具114和/或web服务器102可被配置成分析HTML代码以标识HTML文档的独立部分,并且用iframe属性(例如,无缝和沙盒)来标记所标识部分。例如,在一个方面,web/内容服务器102可以标记HTML代码并且将其发送给web浏览器110以用于呈现。在另一方面,外部/离线工具114可以标记HTML代码并且将其发送给web浏览器110以用于呈现。在一个方面,可以将被标记的HTML代码存储在存储器中以供稍后使用。
浏览器110可被配置成检测“沙盒”和“无缝”属性两者在单个iframe中的存在,以标识要执行的操作。在一个方面,浏览器110可被配置成检测这些属性存在于iframe标签中的次序以进一步标识要执行的操作。例如,如果检测到沙盒属性在iframe标签中被包括在无缝属性之前,则浏览器可以并行地和/或与其他内容一起处理iframe的内容。同样,如果浏览器检测到首先包括的是无缝属性,则浏览器可以顺序地处理iframe的内容。
在一个方面,这些标签可被嵌入HTML代码中,使得它们不会影响现有的浏览器解决方案。例如,这些标签可被嵌入,使得这些标签可被修改成理解这两个属性存在于相同标签中的意义的浏览器处理,而被未经修改的浏览器忽略。
图2解说了标识和标记HTML文档的独立部分的方法200的一个方面。在框202,可以标识HTML文档的独立部分。这可例如通过以下操作来实现:分析HTML文档以标识被软件开发者标记为独立的代码区段,或(例如,在浏览器、外部工具、web服务器等中)分析HTML文档以标识不依赖于由该HTML文档的其他部分所生成的处理结果的部分。在框204,可以将HTML文档划分成多个文件。例如,可以将每个独立部分包括在一个文件中,并且可以将所有依赖部分包括在另一文件中。在框206,将这些文件与具有无缝和沙盒属性两者的iframe标签相关联。这可例如通过将这些文件包括在iframe标签的内容部分中来实现。在一个方面,可以将包含独立部分的文件与第一iframe标签相关联,而可以将包括依赖部分的文件与第二iframe标签相关联。在一个方面,可以生成与独立部分相关联的iframe标签以将无缝属性包括在沙盒属性之前,反之可以生成与依赖部分相关联的iframe标签以将沙盒属性包括在无缝属性之前。在框208,可以将这些文件以及相关联的标签插回HTML文档中。在可任选框210,可以将HTML文档发送给浏览器应用以用于呈现。
图3解说了并行地处理HTML文档的浏览器方法300的一个方面。在框302,浏览器可以接收HTML文档以用于呈现。在确定框304中,浏览器可确定HTML文档是否包括iframe标签。如果浏览器确定HTML文档不包括iframe标签(即,确定框304=“否”),则在框310,浏览器可使用常规方法(例如,顺序地)处理网页内容。如果浏览器确定HTML文档的确包括iframe标签(即,确定框304=“是”),则在确定框306,浏览器可确定iframe标签是否包括无缝和沙盒属性两者。如果浏览器确定iframe标签不包括无缝和沙盒属性两者(即,确定框306=“否”),则在框310,浏览器可使用常规方法处理网页内容。如果浏览器确定iframe标签的确包括无缝和沙盒属性两者(即,确定框306=“是”),则在确定框308,浏览器可确定这些属性被包括在标签中的次序是否将这些标签的内容标识为HTML文档的独立部分。例如,浏览器可以被配置成把在iframe中在无缝属性之前包括沙盒属性解释为标识该iframe的内容独立于该文档的其余部分并且可以按任何次序(例如,与其他过程并行)处理,或反之亦然。
如果浏览器确定属性次序没有将这些标签的内容标识为HTML文档的独立部分(即,确定框308=“否”),则在框310,浏览器可以顺序地处理iframe的内容。另一方面,如果浏览器确定属性次序将这些标签的内容标识为HTML文档的独立部分(即,确定框308=“是”),则在框312,浏览器可以并行地处理这些独立部分。
在一个方面,方法300的操作可以例如通过以下方式与方法200的那些操作结合:通过web浏览器在运行时之前标识并且标记HTML文档的独立部分,并且将经标记的内容存储在存储器中以供稍后处理。
图4解说了可由各个方面用来标识HTML文档的独立部分而不会在运行时消耗过量的时间或能量也不需要开发者手动地将专用HTML标签编码到网页中的示例HTML标签400。在图4中解说的示例中,HTML标签包括iframe标签标识符402、无缝(seamless)属性404、沙盒(sandbox)属性406、以及源文档(srcdoc)属性408。源文档属性408指定嵌套浏览上下文要包含的内容(即,iframe srcdoc文档的源)。“无缝”和“沙盒”属性两者存在于相同iframe标签中允许执行新(即,第三)操作,该新操作未被HTML标准指定和/或标识了HTML页面的独立部分以使其可被浏览器容易地标识。
如以上讨论的,HTML页面的并发处理需要对文档中所有元素执行依赖性分析,这在运行时执行起来一般过于昂贵。这些依赖性可以提前被静态地指定并且被编码到网页中,使得浏览器可以标识可并行执行的独立部分。然而,由于HTML标准没有定义用于检测这些独立部分的标签,因此现有的浏览器解决方案需要浏览器花费时间和能量来标识独立部分。
各个方面所提供的益处之一在于将各标签嵌入HTML页面的独立部分中,使得它们可以被浏览器容易地标识(例如,以用于更高效的并行处理),同时维持与现有浏览器的后向兼容性。即,由于各方面不要求专用标签,并且HTML5规范没有定义当无缝和沙盒属性两者存在于相同iframe中时应当发生什么,因此将这两个属性包括在HTML代码中是与现有解决方案后向兼容的,因为这些现有解决方案将按常规简单地处理文档(例如,通过忽略第二个属性)。
各个方面实现HTML5标准。一般而言,HTML5是HTML标准的第五版并且旨在改善HTML语言,使该语言支持最新多媒体同时使该语言对于人类而言容易阅读并且被计算机和设备(web浏览器、解析器等)一致地理解。HTML5旨在不仅包含HTML4,而且还包含XHTML1和DOM级别2HTML。HTML5标准是响应于观察到以下方面而开发的:万维网上常用的HTML和XHTML是各种规范引入的特征、连同软件产品(诸如web浏览器)引入的那些特征、由通常实践建立的那些特征、以及现有的web文档中的许多句法错误的混合。HTML5还尝试定义能以HTML或XHTML句法来编写的单个标记语言。HTML5包括详细的处理模型以鼓励更多可互操作的实现,因为这扩展、改善了可用于文档的标记且使其合理化,并且引入标记和应用编程接口(API)以用于复杂的web应用。出于同样原因,HTML5还是跨平台移动应用的潜在候选。各个方面利用HTML5的这些和其他特征来实现在低功率设备(诸如,智能电话和平板设备)上运行的基于web的软件应用。
在各个方面,可以将代码嵌入HTML代码中,并且同时生成要插入包含HTML页面中的附加HTML代码。为实现这点,HTML代码(包括通过代码的执行所生成的HTML代码)可按顺序(即,串行)次序进行解析,以避免重复评估和/或处理相同信息。为确保合适的次序,浏览器通常需要至少两个不同机制或过程来解释、解析和执行代码和包含HTML代码。例如,为解释和显示其中嵌有代码的HTML网页,web浏览器通常必需运行将HTML标记标签与实质内容分开的HTML解析器以及解析并执行嵌入脚本的执行引擎。HTML解析器通常运行直到它遇到标签,在那时HTML解析器挂起其操作直到标签被处理。在HTML解析器被挂起时,引擎被调用以处理与所遇到的标签相关联的脚本的内容(即,脚本文本)。当引擎完成执行脚本文本时,引擎将控制返回给HTML解析器,HTML解析器重新开始解析HTML代码。该过程由标准(例如,ECMA脚本、ISO/IEC 16262)指定,并且确保通过文本的执行所生成的HTML代码按合适的(即,串行)次序被解析。
在处理器中执行标记语言代码时,各个方面提供了接收加载网页的请求以及与所请求的网页相关联的标记语言代码(包括嵌入脚本语言代码)。收到的标记语言代码可被解析以生成解析数据。嵌入脚本语言代码的片段可连同解析状态信息一起被打包成执行状态包。执行状态包可被存储在脚本语言脚本队列中,在解析时,收到的标记语言代码被恢复。执行状态包可以包括脚本语言代码、解析状态信息、执行上下文、存储器位置、以及标记语言代码中感兴趣的位置或点的标识符,以及与在脚本标签被HTML解析器遇到时捕捉、存储和检索执行状态有关的其他元素。
各种方面可以在各种计算设备中的任何一个计算设备上实现。图5中解说了移动计算设备的示例,而图6中解说了笔记本计算机的示例。典型的移动计算设备500将具有图5中所解说的共有组件。例如,移动计算设备500可包括耦合至内部存储器502的处理器501以及触摸表面输入设备/显示器503。触摸屏显示器503诸如电阻感测式触摸屏、电容感测式触摸屏、红外感测式触摸屏、声学/压电感测式触摸屏,或诸如此类。各种方面不限于任何特定类型的触摸屏显示器503或触摸板技术。另外,计算设备500可具有用于发送和接收电磁辐射的天线504,该天线504与无线数据链路和/或耦合至处理器501的蜂窝电话收发机505相连接。计算设备500还可包括用于接收用户输入的物理按钮508。
尽管各种方面可为移动计算设备提供显著的性能增强,但其它形式的计算设备(包括个人计算机和膝上型计算机)也可从动态语言脚本的预解析中获益。此类计算设备一般包括图6中解说的组件,图6解说了示例个人膝上型计算机600。此种个人计算机600一般包括耦合至易失性存储器602和大容量非易失性存储器(诸如盘驱动器603)的处理器601。计算机600还可包括耦合至处理器601的压缩盘(CD)和/或DVD驱动器604。计算机设备600还可包括耦合至处理器601的用于建立数据连接或接纳外部存储器设备的数个连接器端口,诸如用于将处理器601耦合至网络的网络连接电路605。计算机600可进一步耦合至键盘608、定点设备(诸如鼠标610)和显示器609,如计算机领域中公知的。
各种方面还可实现在各种市售的服务器设备中的任何服务器设备上,诸如图7中解说的服务器700。此类服务器700通常包括处理器701并且可包括多个处理器系统711、721、731,其中一个或多个可以是或包括多核处理器。处理器701可耦合至易失性存储器702和大容量非易失性存储器(诸如盘驱动器703)。服务器700还可包括耦合至处理器701的软盘驱动器、压缩盘(CD)或DVD盘驱动器706。服务器700还可包括耦合至处理器701的用于建立与网络705(诸如耦合至其他广播系统计算机和服务器的局域网)的数据连接的网络接入端口或收发机704。
处理器501、601、701可以是能通过软件指令(应用)配置以执行包括本文所述各种方面的功能在内的各种功能的任何可编程微处理器、微型计算机或一个或多个多处理器芯片。在一些移动设备中,可提供多个处理器501、601、701,诸如一个处理器专用于无线通信功能并且一个处理器专用于运行其他应用。通常,在软件应用被访问并被加载到处理器501、601、701中之前,这些软件应用可被存储在内部存储器502、602、702中。在一些移动设备中,处理器501、601、701可包括足以存储应用软件指令的内部存储器。在一些移动设备中,安全存储器可以在耦合至处理器501、601、701的单独存储器芯片中。内部存储器502、602、702可以是易失性或非易失性存储器(诸如闪存),或这两者的混合。出于本说明书的目的,对存储器的一般性引述是指可由处理器501、601、701访问的所有存储器,包括内部存储器502、602、702、插入移动设备的可移动存储器、以及处理器501、601、701自身内的存储器。
上述方法描述和过程流程图仅作为解说性示例提供,且并非旨在要求或暗示各种方面的框必须按所给出的次序来执行。如将由本领域技术人员领会的,前述各方面中的步骤次序可按任何次序来执行。诸如“其后”、“随后”、“接着”等的措辞并非旨在限定框的次序;这些措辞仅是简单地用以指引读者遍历方法的描述。进一步地,对单数形式的权利要求元素的任何引述,例如使用冠词“一”、“某”或“该”的引述不应解释为将该元素限定为单数。
结合本文中所公开的各方面来描述的各种解说性逻辑框、模块、电路、和算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、块、模块、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的功能性,但这样的实现决策不应被解读成导致脱离了本发明的范围。
用以实现结合本文中公开的方面描述的各种例示性逻辑、逻辑框、模块、以及电路的硬件可利用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其设计成执行本文中描述的功能的任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协同的一个或多个微处理器或任何其它此类配置。替换地,一些步骤或方法可由专用于给定功能的电路系统来执行。
在一个或多个示例性方面中,所描述的功能可在硬件、软件、固件或其任何组合中实现。如果在软件中实现,则各功能可以作为一条或多条指令或代码存储在非易失计算机可读或处理器可读存储介质上或藉其进行传送。本文中公开的方法或算法的步骤可在处理器可执行软件模块中实施,该处理器可执行软件模块可驻留在非瞬态计算机可读或处理器可读存储介质上。非瞬态处理器可读和计算机可读存储介质可以是能被计算机或计算设备的处理器访问的任何可用介质。作为示例而非限定,此类非瞬态处理器可读或计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或者可用于携带或存储指令或数据结构形式的期望程序代码且可由计算机或计算设备的处理器访问的任何其它介质。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字通用碟(DVD)、软盘和蓝光碟,其中盘往往以磁的方式再现数据而碟利用激光以光学方式再现数据。以上的组合也应被包括在非瞬态计算机可读介质的范围内。另外,方法或算法的操作可作为一条代码和/或指令或者代码和/或指令的任何组合或集合而驻留在可被纳入计算机程序产品中的非瞬态处理器可读介质和/或非瞬态计算机可读介质上。
提供了以上对所公开的方面的描述是为了使得本领域任何技术人员皆能够制作或使用本发明。对这些方面的各种修改容易为本领域技术人员所显见,并且在此所定义的普适原理可被应用于其它方面而不会脱离本发明的精神或范围。由此,本发明并非旨在限定于本文中示出的方面,而是应被授予与所附权利要求和本文中公开的原理和新颖性特征一致的最广义的范围。
Claims (52)
1.一种用于在浏览器中处理内容的方法,包括:
标识web文档的独立部分;
将所述web文档划分成多个文件,每个独立部分被包括在一个文件中;
将标签与所述多个文件相关联,所述标签具有第一属性和第二属性;
将对所述多个文件及相关联的标签的引用插入所述web文档中;以及
将所述web文档发送到在计算设备中执行的浏览器应用。
2.如权利要求1所述的方法,其特征在于,进一步包括:
在所述计算设备中执行的所述浏览器应用中接收所述web文档;
确定所述web文档内的所述标签是否包括所述第一属性和所述第二属性两者;以及
响应于确定所述标签包括所述第一和第二属性两者,处理与所述标签相关联的所述多个文件。
3.如权利要求2所述的方法,其特征在于,进一步包括:
响应于确定所述标签包括所述第一和第二属性两者,确定所述第一属性是否在所述标签中被包括在所述第二属性之前;以及
当所述第一属性在相同标签中被包括在所述第二属性之前时,并行地处理所述多个文件。
4.如权利要求2所述的方法,其特征在于,进一步包括:
响应于确定所述标签包括所述第一和第二属性两者,确定所述第二属性是否在所述标签中被包括在所述第一属性之前;以及
当所述第二属性在相同标签中被包括在所述第一属性之前时,顺序地处理所述多个文件。
5.如权利要求2所述的方法,其特征在于,确定所述web文档内的所述标签是否包括所述第一属性和所述第二属性两者包括确定iframe标签是否包括沙盒属性和无缝属性两者。
6.如权利要求1所述的方法,其特征在于,标识web文档的独立部分包括标识超文本标记语言(HTML)文档的独立部分。
7.如权利要求1所述的方法,其特征在于,标识web文档的独立部分包括标识所述web文档的不共享状态信息的独立部分。
8.如权利要求1所述的方法,其特征在于,标识web文档的独立部分是由外部工具来实现的。
9.如权利要求1所述的方法,其特征在于,标识web文档的独立部分是由web服务器来实现的。
10.如权利要求1所述的方法,其特征在于,标识web文档的独立部分是由所述浏览器应用在运行时之前实现的。
11.一种计算设备,包括:
用于标识web文档的独立部分的装置;
用于将所述web文档划分成多个文件的装置,每个独立部分被包括在一个文件中;
用于将标签与所述多个文件相关联的装置,所述标签具有第一属性和第二属性;
用于将对所述多个文件及相关联的标签的引用插入所述web文档中的装置;以及
用于将所述web文档发送到在另一计算设备中执行的浏览器应用的装置。
12.如权利要求11所述的计算设备,其特征在于,用于标识web文档的独立部分的装置包括用于标识超文本标记语言(HTML)文档的独立部分的装置。
13.如权利要求11所述的计算设备,其特征在于,用于标识web文档的独立部分的装置包括用于标识所述web文档的不共享状态信息的独立部分的装置。
14.如权利要求11所述的计算设备,其特征在于,用于标识web文档的独立部分的装置包括用于使用外部工具来标识所述web文档的独立部分的装置。
15.如权利要求11所述的计算设备,其特征在于,用于标识web文档的独立部分的装置包括用于在web服务器上标识所述web文档的独立部分的装置。
16.如权利要求11所述的计算设备,其特征在于,用于将标签与所述多个文件相关联的装置包括用于将包括沙盒属性和无缝属性两者的iframe标签与所述多个文件相关联的装置。
17.一种计算设备,包括:
用于在所述计算设备中执行的浏览器应用中接收web文档的装置,所述web文档包括对与标签相关联的多个文件的引用;
用于确定所述web文档中的相关联的标签是否包括第一属性和第二属性两者的装置;以及
用于响应于确定所述标签包括所述第一和第二属性两者,处理与所述标签相关联的所述多个文件的装置。
18.如权利要求17所述的计算设备,其特征在于,进一步包括:
用于响应于确定所述标签包括所述第一和第二属性两者,确定所述第一属性是否在所述标签中被包括在所述第二属性之前的装置;以及
用于当所述第一属性在相同标签中被包括在所述第二属性之前时,并行地处理所述多个文件的装置。
19.如权利要求17所述的计算设备,其特征在于,进一步包括:
用于响应于确定所述标签包括所述第一和第二属性两者,确定所述第二属性是否在所述标签中被包括在所述第一属性之前的装置;以及
用于当所述第二属性在相同标签中被包括在所述第一属性之前时,顺序地处理所述多个文件的装置。
20.如权利要求17所述的计算设备,其特征在于,用于确定所述web文档内的所述标签是否包括所述第一属性和所述第二属性两者的装置包括用于确定iframe标签是否包括沙盒属性和无缝属性两者的装置。
21.如权利要求17所述的计算设备,其特征在于,进一步包括用于在运行时之前标识所述web文档的独立部分的装置。
22.一种计算设备,包括:
配置成发送和接收通信信号的收发机;
存储器;以及
耦合到所述收发机和所述存储器的处理器,其中所述处理器用处理器可执行指令配置成执行包括如下的操作:
标识web文档的独立部分;
将所述web文档划分成多个文件,每个独立部分被包括在一个文件中;
将标签与所述多个文件相关联,所述标签具有第一属性和第二属性;
将对所述多个文件及相关联的标签的引用插入所述web文档中;以及
将所述web文档发送到在计算设备中执行的浏览器应用。
23.如权利要求22所述的计算设备,其特征在于,所述处理器用处理器可执行指令配置以使得:标识web文档的独立部分包括标识超文本标记语言(HTML)文档的独立部分。
24.如权利要求22所述的计算设备,其特征在于,所述处理器用处理器可执行指令配置以使得:标识web文档的独立部分包括标识所述web文档的不共享状态信息的独立部分。
25.如权利要求22所述的计算设备,其特征在于,所述处理器用处理器可执行指令配置以使得:标识web文档的独立部分是由外部工具来实现的。
26.如权利要求22所述的计算设备,其特征在于,所述计算设备是web服务器。
27.如权利要求22所述的计算设备,其特征在于,所述处理器用处理器可执行指令配置以使得:将标签与所述多个文件相关联包括将包括沙盒属性和无缝属性两者的iframe标签与所述多个文件相关联。
28.一种计算设备,包括:
配置成发送和接收通信信号的收发机;
存储器;以及
耦合到所述收发机和所述存储器的处理器,其中所述处理器用处理器可执行指令配置成执行包括如下的操作:
在所述计算设备中执行的浏览器应用中接收web文档,所述web文档包括对与标签相关联的多个文件的引用;
确定所述web文档内的所述标签是否包括第一属性和第二属性两者;以及
响应于确定所述标签包括所述第一和第二属性两者,处理与所述标签相关联的所述多个文件。
29.如权利要求28所述的计算设备,其特征在于,所述处理器用处理器可执行指令配置成执行进一步包括以下操作的操作:
响应于确定所述标签包括所述第一和第二属性两者,确定所述第一属性是否在所述标签中被包括在所述第二属性之前;以及
当所述第一属性在相同标签中被包括在所述第二属性之前时,并行地处理所述多个文件。
30.如权利要求28所述的计算设备,其特征在于,所述处理器用处理器可执行指令配置成执行进一步包括以下操作的操作:
响应于确定所述标签包括所述第一和第二属性两者,确定所述第二属性是否在所述标签中被包括在所述第一属性之前;以及
当所述第二属性在相同标签中被包括在所述第一属性之前时,顺序地处理所述多个文件。
31.如权利要求28所述的计算设备,其特征在于,所述处理器用处理器可执行指令配置以使得:确定所述web文档内的所述标签是否包括所述第一属性和所述第二属性两者包括确定iframe标签是否包括沙盒属性和无缝属性两者。
32.如权利要求28所述的计算设备,其特征在于,所述处理器用处理器可执行指令配置以执行进一步包括在运行时之前标识所述web文档的独立部分的操作。
33.一种其上存储有处理器可执行软件指令的非瞬态计算机可读存储介质,所述处理器可执行软件指令配置成使处理器执行操作,所述操作包括:
标识web文档的独立部分;
将所述web文档划分成多个文件,每个独立部分被包括在一个文件中;
将标签与所述多个文件相关联,所述标签具有第一属性和第二属性;
将对所述多个文件及相关联的标签的引用插入所述web文档中;以及
将所述web文档发送到在计算设备中执行的浏览器应用。
34.如权利要求33所述的非瞬态计算机可读存储介质,其特征在于,所存储的处理器可执行软件指令配置成使处理器执行操作以使得:标识web文档的独立部分包括标识超文本标记语言(HTML)文档的独立部分。
35.如权利要求33所述的非瞬态计算机可读存储介质,其特征在于,所存储的处理器可执行软件指令配置成使处理器执行操作以使得:标识web文档的独立部分包括标识所述web文档的不共享状态信息的独立部分。
36.如权利要求33所述的非瞬态计算机可读存储介质,其特征在于,所存储的处理器可执行软件指令配置成使处理器执行操作以使得:标识web文档的独立部分是由外部工具来实现的。
37.如权利要求33所述的非瞬态计算机可读存储介质,其特征在于,所存储的处理器可执行软件指令配置成在web服务器上执行。
38.如权利要求11所述的非瞬态计算机可读存储介质,其中所存储的处理器可执行软件指令配置成使处理器执行操作以使得:将标签与所述多个文件相关联包括将包括沙盒属性和无缝属性两者的iframe标签与所述多个文件相关联。
39.一种其上存储有处理器可执行软件指令的非瞬态计算机可读存储介质,所述处理器可执行软件指令配置成使处理器执行操作,所述操作包括:
在浏览器应用中接收web文档,所述web文档包括对与标签相关联的多个文件的引用;
确定所述web文档内的所述标签是否包括第一属性和第二属性两者;以及
响应于确定所述标签包括所述第一和第二属性两者,处理与所述标签相关联的所述多个文件。
40.如权利要求39所述的非瞬态计算机可读存储介质,其中所存储的处理器可执行软件指令配置成使处理器执行操作,所述操作包括:
响应于确定所述标签包括所述第一属性和所述第二属性两者,确定所述第一属性是否在所述标签中被包括在所述第二属性之前;以及
当所述第一属性在相同标签中被包括在所述第二属性之前时,并行地处理所述多个文件。
41.如权利要求39所述的非瞬态计算机可读存储介质,其中所存储的处理器可执行软件指令配置成使处理器执行操作,所述操作包括:
响应于确定所述标签包括所述第一属性和所述第二属性两者,确定所述第二属性是否在所述标签中被包括在所述第一属性之前;以及
当所述第二属性在相同标签中被包括在所述第一属性之前时,顺序地处理所述多个文件。
42.如权利要求39所述的非瞬态计算机可读存储介质,其中所存储的处理器可执行软件指令配置成使处理器执行操作以使得:确定所述web文档内的所述标签是否包括所述第一属性和所述第二属性两者包括确定iframe标签是否包括沙盒属性和无缝属性两者。
43.如权利要求39所述的非瞬态计算机可读存储介质,其特征在于,所存储的处理器可执行软件指令配置成使处理器执行进一步包括在运行时之前标识所述web文档的独立部分的操作。
44.一种系统,包括:
服务器,包括配置成发送和接收通信信号的服务器收发机、服务器存储器、以及耦合到所述服务器收发机和所述服务器存储器的服务器处理器;以及
计算设备,包括配置成发送和接收通信信号的设备收发机、设备存储器、以及耦合到所述服务器收发机和所述服务器存储器的设备处理器,
其中所述服务器处理器用服务器可执行指令配置成执行包括以下操作的操作:
标识web文档的独立部分;
将所述web文档划分成多个文件,每个独立部分被包括在一个文件中;
将标签与所述多个文件相关联,所述标签具有第一属性和第二属性;
将对所述多个文件及相关联的标签的引用插入所述web文档中;以及
将所述web文档发送到在计算设备中执行的浏览器应用。
45.如权利要求44所述的系统,其特征在于,所述服务器处理器用服务器可执行指令配置以使得:标识web文档的独立部分包括标识超文本标记语言(HTML)文档的独立部分。
46.如权利要求44所述的系统,其特征在于,所述服务器处理器用服务器可执行指令配置以使得:标识web文档的独立部分包括标识所述web文档的不共享状态信息的独立部分。
47.如权利要求44所述的系统,其特征在于,所述服务器处理器用服务器可执行指令配置以使得:标识web文档的独立部分是由外部工具来实现的。
48.如权利要求44所述的系统,其特征在于,所述设备处理器用处理器可执行指令配置成执行包括以下操作的操作:
在所述计算设备中执行的所述浏览器应用中接收所述web文档;
确定所述web文档内的至少一个标签是否包括所述第一属性和所述第二属性两者;以及
响应于确定至少一个标签包括所述第一和第二属性两者,处理与所述至少一个标签相关联的所述多个文件。
49.如权利要求48所述的系统,其特征在于,所述设备处理器用处理器可执行指令配置成执行进一步包括以下操作的操作:
响应于确定至少一个标签包括所述第一和第二属性两者,确定所述第一属性是否在所述标签中被包括在所述第二属性之前;以及
当所述第一属性在相同标签中被包括在所述第二属性之前时,并行地处理所述多个文件。
50.如权利要求48所述的系统,其特征在于,所述处理器用处理器可执行指令配置成执行操作,所述操作进一步包括:
响应于确定至少一个标签包括所述第一和第二属性两者,确定所述第二属性是否在所述标签中被包括在所述第一属性之前;以及
当所述第二属性在相同标签中被包括在所述第一属性之前时,顺序地处理所述多个文件。
51.如权利要求48所述的系统,其特征在于,所述处理器用处理器可执行指令配置以使得:确定所述web文档内的至少一个标签是否包括所述第一属性和所述第二属性两者包括确定iframe标签是否包括沙盒属性和无缝属性两者。
52.如权利要求48所述的系统,其特征在于,所述处理器用处理器可执行指令配置以执行进一步包括在运行时之前标识所述浏览器应用中的所述web文档的独立部分的操作。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261618254P | 2012-03-30 | 2012-03-30 | |
US61/618,254 | 2012-03-30 | ||
US13/451,981 | 2012-04-20 | ||
US13/451,981 US9372836B2 (en) | 2012-03-30 | 2012-04-20 | HTML5 I-frame extension |
PCT/US2013/026861 WO2013148016A2 (en) | 2012-03-30 | 2013-02-20 | Html5 i-frame extension |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104246762A true CN104246762A (zh) | 2014-12-24 |
CN104246762B CN104246762B (zh) | 2017-10-24 |
Family
ID=49236764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380017573.9A Expired - Fee Related CN104246762B (zh) | 2012-03-30 | 2013-02-20 | Html5 i‑frame扩展 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9372836B2 (zh) |
EP (1) | EP2831768A2 (zh) |
JP (1) | JP6058782B2 (zh) |
CN (1) | CN104246762B (zh) |
WO (1) | WO2013148016A2 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106454487A (zh) * | 2016-11-30 | 2017-02-22 | 广州华多网络科技有限公司 | 一种合并双频道方法、装置及系统 |
CN109840057A (zh) * | 2018-12-14 | 2019-06-04 | 平安普惠企业管理有限公司 | 终端协议显示方法、装置、设备及存储介质 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9489355B2 (en) * | 2012-07-05 | 2016-11-08 | Chegg, Inc. | Characterization of layered documents in HTML5 publishing |
US9311280B2 (en) * | 2012-08-27 | 2016-04-12 | Qualcomm Innovation Center, Inc. | Re-ordering of iFrame execution to reduce network activity window |
EP3017579B1 (en) * | 2013-08-23 | 2018-05-09 | Huawei Technologies Co., Ltd. | System and device for enabling any network functionality client or server in a html5 application |
US9852118B2 (en) | 2014-05-15 | 2017-12-26 | Microsoft Technology Licensing, Llc | Describing data transformations using markup language extensions |
US11159603B2 (en) | 2015-04-15 | 2021-10-26 | Hyland Switzerland Sàrl | Cross-platform module for loading across a plurality of device types |
US20170132693A1 (en) * | 2015-11-09 | 2017-05-11 | Pipit Interactive, Inc. | Aggregation of group of products content and providing ways to display, view, access, share and consume content |
US20170269893A1 (en) * | 2016-03-16 | 2017-09-21 | Google Inc. | Remote rendering of locally displayed content |
CN107273342A (zh) * | 2016-11-25 | 2017-10-20 | 深圳市联谛信息无障碍有限责任公司 | 一种在辅助技术中识别html内容的方法 |
US11048614B2 (en) * | 2018-05-07 | 2021-06-29 | Google Llc | Immersive web-based simulator for digital assistant-based applications |
CN116560970A (zh) | 2018-05-07 | 2023-08-08 | 谷歌有限责任公司 | 用于基于数字助理的应用的沉浸式基于web的模拟器 |
CN108762732B (zh) * | 2018-05-30 | 2019-06-11 | 南京焦点领动云计算技术有限公司 | 一种HTML内联CSS和内联JavaScript合并方法 |
US11036855B2 (en) * | 2018-09-28 | 2021-06-15 | EMC IP Holding Company LLC | Detecting frame injection through web page analysis |
US11080169B2 (en) * | 2019-11-13 | 2021-08-03 | Google Llc | Framework for providing binary release isolation for parts of a web application |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040148571A1 (en) * | 2003-01-27 | 2004-07-29 | Lue Vincent Wen-Jeng | Method and apparatus for adapting web contents to different display area |
US20050091111A1 (en) * | 1999-10-21 | 2005-04-28 | Green Jason W. | Network methods for interactive advertising and direct marketing |
US20070299857A1 (en) * | 2006-06-23 | 2007-12-27 | Microsoft Corporation | Cross Domain Communication |
US20080133722A1 (en) * | 2006-12-04 | 2008-06-05 | Infosys Technologies Ltd. | Parallel dynamic web page section processing |
US20080271046A1 (en) * | 2007-04-27 | 2008-10-30 | Microsoft Corporation | Dynamically loading scripts |
US20090070190A1 (en) * | 2007-09-12 | 2009-03-12 | Microsoft Corporation | Updating contents of asynchronously refreshable webpages |
CN101593207A (zh) * | 2009-07-06 | 2009-12-02 | 孟智平 | 一种构造和生成网页的方法及系统 |
US20100299205A1 (en) * | 2009-05-20 | 2010-11-25 | David Erdmann | Protected serving of electronic content |
US20120054596A1 (en) * | 2010-08-31 | 2012-03-01 | Cbs Interactive Inc. | Platform for serving online content |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7506248B2 (en) | 2005-10-14 | 2009-03-17 | Ebay Inc. | Asynchronously loading dynamically generated content across multiple internet domains |
US8930812B2 (en) | 2006-02-17 | 2015-01-06 | Vmware, Inc. | System and method for embedding, editing, saving, and restoring objects within a browser window |
US8245151B2 (en) | 2007-01-30 | 2012-08-14 | Oracle International Corporation | Web browser window management |
CA2700030C (en) | 2009-04-16 | 2019-11-05 | Accenture Global Services Gmbh | Touchpoint customization system |
-
2012
- 2012-04-20 US US13/451,981 patent/US9372836B2/en active Active
-
2013
- 2013-02-20 WO PCT/US2013/026861 patent/WO2013148016A2/en active Application Filing
- 2013-02-20 EP EP13708962.9A patent/EP2831768A2/en not_active Ceased
- 2013-02-20 JP JP2015503208A patent/JP6058782B2/ja not_active Expired - Fee Related
- 2013-02-20 CN CN201380017573.9A patent/CN104246762B/zh not_active Expired - Fee Related
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050091111A1 (en) * | 1999-10-21 | 2005-04-28 | Green Jason W. | Network methods for interactive advertising and direct marketing |
US20040148571A1 (en) * | 2003-01-27 | 2004-07-29 | Lue Vincent Wen-Jeng | Method and apparatus for adapting web contents to different display area |
US20070299857A1 (en) * | 2006-06-23 | 2007-12-27 | Microsoft Corporation | Cross Domain Communication |
US20080133722A1 (en) * | 2006-12-04 | 2008-06-05 | Infosys Technologies Ltd. | Parallel dynamic web page section processing |
US20080271046A1 (en) * | 2007-04-27 | 2008-10-30 | Microsoft Corporation | Dynamically loading scripts |
US20090070190A1 (en) * | 2007-09-12 | 2009-03-12 | Microsoft Corporation | Updating contents of asynchronously refreshable webpages |
US20100299205A1 (en) * | 2009-05-20 | 2010-11-25 | David Erdmann | Protected serving of electronic content |
CN101593207A (zh) * | 2009-07-06 | 2009-12-02 | 孟智平 | 一种构造和生成网页的方法及系统 |
US20120054596A1 (en) * | 2010-08-31 | 2012-03-01 | Cbs Interactive Inc. | Platform for serving online content |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106454487A (zh) * | 2016-11-30 | 2017-02-22 | 广州华多网络科技有限公司 | 一种合并双频道方法、装置及系统 |
CN109840057A (zh) * | 2018-12-14 | 2019-06-04 | 平安普惠企业管理有限公司 | 终端协议显示方法、装置、设备及存储介质 |
CN109840057B (zh) * | 2018-12-14 | 2021-12-07 | 平安普惠企业管理有限公司 | 终端协议显示方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104246762B (zh) | 2017-10-24 |
US9372836B2 (en) | 2016-06-21 |
JP6058782B2 (ja) | 2017-01-11 |
WO2013148016A3 (en) | 2014-01-23 |
WO2013148016A2 (en) | 2013-10-03 |
JP2015518205A (ja) | 2015-06-25 |
US20130262978A1 (en) | 2013-10-03 |
EP2831768A2 (en) | 2015-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104246762A (zh) | Html5i-frame扩展 | |
US8510237B2 (en) | Machine learning method to identify independent tasks for parallel layout in web browsers | |
US9037636B2 (en) | Managing script file dependencies and load times | |
US7802179B2 (en) | Synchronizing data between different editor views | |
US8413047B2 (en) | Concurrent parsing and processing of HTML and JAVASCRIPT® | |
US9081769B2 (en) | Providing translation assistance in application localization | |
US8719770B2 (en) | Verifying programming artifacts generated from ontology artifacts or models | |
US9218602B2 (en) | Providing page navigation in multirole-enabled network application | |
US9245030B2 (en) | Analytics based on pipes programming model | |
Dien et al. | Gro2mat: A package to efficiently read Gromacs output in Matlab | |
US8397158B1 (en) | System and method for partial parsing of XML documents and modification thereof | |
CN102360370A (zh) | 数据集中管理系统及方法 | |
US9652359B1 (en) | Annotation natural keys for source code analysis | |
US8924924B2 (en) | Representing the structure of a data format using a class-based representation | |
US20160321090A1 (en) | Selectively loading a set of modules | |
Malcher | On recursive and non-recursive trade-offs between finite-turn pushdown automata | |
Engel et al. | Inter-organizational business processes: on redundancies in document exchanges | |
US20190369971A1 (en) | Analysis and generation of structured programming based on disparate application configurations | |
Bjrner et al. | Logics of Specification Languages (Monographs in Theoretical Computer Science. An EATCS Series) | |
Liu et al. | Design and Application of a Monochrome STN_LCD Driver Program in Embedded Linux | |
Zhang et al. | Research of Deformation of Highway under the Action of Traffic Load | |
Su et al. | Analysis of Economic Evaluation of Accessibility of Highway Network on the Basis of Transportation Efficiency | |
Xiang-Zhao et al. | The Research on Delaying Retirement Age Caused by the Pension Gap | |
Feng et al. | A Novel Dynamic Slotted Binary Search Method for RFID Anti-collision | |
Harbich | On the descriptional complexity of k-uniformly-limited lindenmayer systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171024 |
|
CF01 | Termination of patent right due to non-payment of annual fee |