CN104272291A - 唯一地识别脚本文件 - Google Patents
唯一地识别脚本文件 Download PDFInfo
- Publication number
- CN104272291A CN104272291A CN201380023570.6A CN201380023570A CN104272291A CN 104272291 A CN104272291 A CN 104272291A CN 201380023570 A CN201380023570 A CN 201380023570A CN 104272291 A CN104272291 A CN 104272291A
- Authority
- CN
- China
- Prior art keywords
- script file
- unique identifier
- computing equipment
- web document
- url
- 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/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- 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/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
Abstract
本文描述了与唯一地识别脚本文件相关的技术。本摘要是在理解其将不会被用来解释或限制权利要求的范围和意义的情况下提交的。脚本文件知识库包括具有唯一标识符和可选地版本号的一个或多个脚本文件。计算设备使用唯一标识符/版本号来访问引用脚本文件的web文档。
Description
背景技术
典型的网页设计者使用各种技术来指示网页的外观应如何。例如,网页设计者使用标记语言来设计网页的外观且然后使用一个或多个脚本、样式表、图像等来指示用于网页的任何动作或效果,诸如文本效果、滚动选取框、滑动窗口、动画等。存在许多一般使用的文件和库,例如文件和库、级联样式表(CSS)、图像文件和库、图标文件和库等,其能够在设计网页时使用。
发明内容
一般地,本文公开的主题的一个或多个实施方式涉及使用脚本文件知识库的技术。该技术包括被配置成访问web文档的web文档访问器。该web文档包括用于脚本文件的统一资源定位符(URL)和被附加于URL的用于脚本文件的唯一标识符。该唯一标识符唯一地识别脚本文件。该脚本文件被包括在脚本文件知识库中。该技术还包括脚本文件定位器,其被配置成确定与唯一标识符相关联的脚本文件是位于计算设备处还是脚本文件知识库处。此外,该技术包括脚本文件获取器,其被配置成响应于确定与唯一标识符相关联的脚本文件是位于计算设备处还是脚本文件知识库处而从计算设备接收与该唯一标识符相关联的脚本文件。
本发明内容是在理解其将不会被用来解释或限制权利要求的范围或意义的情况下提交的。本发明内容不意图识别要求保护的主题的关键特征或本质特征,也不意图用作确定要求保护的主题的范围的辅助。
附图说明
图1图示出根据本文所述的一个或多个实施方式的示例性脚本文件知识库。
图2是适合于本文所述的一个或多个实施方式的计算环境的高级框图。
图3是根据本文所述的一个或多个实施方式的计算设备的高级框图。
图4是根据本文所述的一个或多个实施方式的用于利用脚本文件知识库的方法的流程图。
图5是图示出根据本文所述的一个或多个实施方式的示例性计算机系统的高级框图。
详细描述参考附图。在图中,附图标记的最左侧数位识别其中该附图标记第一次出现的图。遍及各图使用相同的附图标记来引用相同的特征和部件。
具体实施方式
本公开描述了一种脚本文件知识库,其中,设计者可以访问可以用来丰富网页的外观的脚本文件。该脚本文件向网页添加逻辑效果,诸如滑动窗口、动画、文本效果、色彩、横幅、表单验证、滚动图像、部分提交(经由异步(AJAX))等。根据一个或多个实施方式的脚本文件知识库存储一个或多个脚本文件以便例如在设计网页时使用。脚本文件知识库向所述一个或多个脚本文件分配一个或多个唯一标识符。可以将该唯一标识符附加于用于脚本文件的统一资源定位符(URL)。可选地,该脚本文件知识库分配用于脚本文件的版本号,其指定脚本文件的特定版本。替换地,脚本制作者指定用于该脚本文件的版本。脚本文件知识库使得该唯一标识符和可选地版本号可用于web文档制作者。可以使用唯一标识符从脚本文件知识库获得脚本文件。
本公开还描述了被配置成访问web文档的计算设备,该web文档包括对一个或多个脚本文件的引用。该web文档包括用于脚本文件的URL。该web文档还包括被附加于URL的用于脚本文件的唯一标识符。web文档的制作者从脚本文件知识库接收用于脚本文件的唯一标识符。在一个或多个实施方式中,在web文档中的<script>标签的#(或哈希)字符之后将该唯一标识符附加于src属性。可选地,将版本号或版本范围附加于唯一标识符。
如果计算设备认识到用于脚本文件的唯一标识符的使用,则计算设备从web文档获得唯一标识符,并将其用来从脚本知识库检索期望脚本。计算设备确定与唯一标识符相关联的脚本文件是位于计算设备本身上还是远程知识库处。如果脚本文件位于计算设备上,则计算设备使用唯一标识符来从其本地获得脚本文件。如果脚本文件位于远程脚本文件知识库中,则计算设备使用唯一标识符从远程脚本文件知识库获得脚本文件。
如果计算设备未识别唯一标识符,则计算设备从在web文档中的URL中的<script>标签的src属性中所指示的地址获得脚本文件位置信息。计算设备从位于src属性中指示的位置获得脚本文件。这提供与未识别唯一标识符的计算设备的向后兼容。这还提供与在知识库中或本地地在计算设备上未找到脚本的计算设备的向后兼容。
示例性脚本文件知识库
图1图示出根据一个或多个实施方式的示例性脚本文件知识库100,计算设备能够使用唯一标识符和可选地版本范围或版本号来从其访问脚本文件。在所示示例中,脚本文件输入端101被通信耦合到脚本检查模块102。脚本检查模块102被通信耦合到分配模块104,其被通信耦合到附加模块106。附加模块106被通信耦合到脚本文件/唯一标识符存储108。该脚本文件/唯一标识符存储108通信耦合到脚本文件输出端110以及脚本文件唯一标识符/版本输出端112。
在一个或多个实施方式中,脚本文件输入端101、脚本检查模块102、分配模块104、附加模块106、脚本文件/唯一标识符存储108、脚本文件输出端110以及唯一标识符/版本输出端112之间的通信耦合是有线连接或无线连接。在阅读本文中的描述之后,本领域的技术人员将能够实现通信耦合。
在一个或多个实施方式中,脚本文件输入端101利用任何适当的手动数据输入技术。手动数据输入技术的示例包括膝上型计算机或台式计算机上的鼠标或键盘。其他示例包括平板计算机上的触摸屏。在一个或多个实施方式中,脚本文件输入端101是自动化的且脚本文件例如被经由因特网以电子方式提交给脚本文件输入端101。提交者可使用超文本传输协议(HTTP)、文件传输协议(FTP)或其他适当联网协议向脚本文件输入端101提交脚本文件。
在一个或多个实施方式中,脚本检查模块102获得由脚本文件制作者/提交者经由脚本文件输入端101提供的脚本文件。脚本检查模块102对脚本文件执行检查。例如,脚本检查模块102确定被提交给脚本文件知识库100的脚本文件是否没有恶意软件,诸如病毒、蠕虫等。脚本检查模块102还确定脚本文件的提交者是否是授权提交者。脚本检查模块102对提交的脚本文件适当地执行其他检查,并且然后确定是否和/或哪个脚本文件被批准包括在脚本文件知识库100中。在一个或多个实施方式中,脚本检查模块102查看正在提交的版本是否已被提交,并且如果是这样的话,则提示提交者关于他或她是否想要替换现有版本。
如果被批准包括在脚本文件知识库100中,分配模块104向每个批准的脚本文件分配唯一标识符。在某些实施方式中,分配模块104分配版本号或版本号的范围。替换地,脚本制作者指定用于该脚本文件的版本。将用唯一标识符来识别脚本文件,使得在脚本文件之间不存在冲突。
对于一个或多个实施方式而言,向脚本文件分配一个唯一标识符,使得脚本文件知识库100中的每个脚本文件以及根据本文所述的技术实现的其他脚本文件知识库具有其自己的唯一标识符。在其中脚本文件相同但脚本文件版本不同的实施方式中,该唯一标识符相同,但是向唯一标识符附加版本号。也就是说,多个脚本文件可具有相同的唯一标识符,但是进一步附加的版本号将脚本文件相互区别开。
在一个或多个实施方式中,脚本文件知识库100管理员选择用于脚本文件的唯一标识符并手动地将唯一标识符输入到分配模块104中。例如,管理员选择用于第一已批准脚本文件的唯一标识符“0001”、用于第二已批准脚本文件的唯一标识符“0002”、用于第三已批准脚本文件的唯一标识符“0003”等。在阅读本文中的描述之后,本领域的技术人员将能够实现分配模块104。
附加模块106向已批准脚本文件附加已分配的唯一标识符。根据一个或多个实施方式,附加模块106将唯一标识符附加于用于脚本文件的URL中的<script>标签中的src属性。在其中分配模块104向已批准脚本文件分配版本号或版本范围的实施方式中,附加模块106向唯一标识符附加版本号或版本范围。
脚本文件/唯一标识符存储108例如向公众公布可从脚本文件知识库100获得脚本文件并且能够使用脚本文件知识库100的URL加唯一标识符来从脚本文件/唯一标识符存储108访问脚本文件。所请求的脚本文件是经由脚本文件输出端110。所请求的唯一标识符/版本是经由唯一标识符/版本输出端112。脚本文件/唯一标识符存储108是能够例如当被请求时向公众提供脚本文件和脚本文件唯一标识符的任何适当存储设备。
在一个或多个实施方式中,未授权用户浏览知识库100,查找感兴趣的一个或多个脚本。脚本知识库100可使用协议读取,诸如文件传输协议(FTP)、超文本传输协议(HTTP)、HTTP与安全套接字层/传输层安全(HTTPS)的组合等。用于向公众公布可从脚本文件知识库100获得脚本文件的其他机制包括将种类的目录作为资源描述框架网站概要(RSS)馈送发布和/或向邮件列表发送电子邮件消息,警告感兴趣的各方有新脚本或脚本的新版本可用。
另外,脚本文件知识库100是使用硬件、固件和/或其与软件的任何组合实现的。这包括脚本文件输入端101、脚本检查模块102、分配模块104、附加模块106、脚本文件/唯一标识符存储108、脚本文件输出端110以及唯一标识符/版本输出端112的实现。
示例性计算环境
图2是用于实现本文所述技术的示例性适当计算环境200的高级框图。所示计算环境200包括被相互通信耦合并耦合到因特网206的客户端202A和202B、服务器204A和204B以及脚本文件知识库100。客户端202A和202B分别地经由链路208A和208B被通信耦合到因特网206,服务器204A和204B分别地经由链路208C和208D被通信耦合到因特网206,并且脚本库100经由链路208E被通信耦合到因特网206。
在一个或多个实施方式中,客户端202A和202B是计算设备,并且同样地由用户操作以使用脚本文件以及由web文档制作者来设计网页以准备web文档。所示计算设备是台式计算机。然而,膝上型计算机、笔记本计算机、平板计算机、智能电话等也是适当的计算设备。
服务器204A和204B意在表示web服务器、文件服务器等。
因特网206意在表示有线和/或无线分布式通信机制。
链路208A、208B、208C、208D和208E意在表示存在于客户端202A和202B、服务器204A和204B以及脚本文件知识库100之间的有线和/或无线连接。
示例性计算设备
图3更详细地图示了示例性计算设备202A。在所示示例中,计算设备202A包括web浏览器300。所示web浏览器300包括用户接口301、web文档访问器302、解析器304、脚本文件定位器306、脚本文件获取器308、web浏览器数据库312、目录313、渲染器314、文件夹315、文件解释器316以及图形处理单元(GPU)318。所示计算设备202A还包括高速缓存器320、一个或多个插件322、一个或多个浏览器扩展324以及一个或多个附加件326。
所示web浏览器300用来访问web文档并根据web文档中的信息来渲染网页。用户接口301、web文档访问器302、解析器304、脚本文件定位器306、脚本文件获取器308、web浏览器数据库312、渲染器314、文件解释器316以及图形处理单元(GPU)318促进访问web文档并渲染网页。
所示用户接口(UI)301提供用户与计算设备202A之间的接口。UI 301使用已知技术来处理来自键盘、鼠标、触控板、麦克风或其他用户输入端的输入。
所示web文档访问器302被配置成访问web文档。web文档具有用于脚本文件的URL、被附加于URL的用于脚本文件的唯一标识符和/或被附加于唯一标识符的用于脚本文件的版本范围或版本号。在一个或多个实施方式中,web文档访问器302使用超文本传输协议(HTTP)、文件传输协议(FTP)或其他适当联网协议来访问web文档。
所示解析器304被配置成识别用于包括在web文档中的脚本文件的URL、唯一标识符和/或版本范围或版本号。解析器304还被配置成从web文档获得URL、唯一标识符和/或版本范围或版本号。在一个或多个实施方式中,解析器被配置成解析HTML、可扩展标记语言(XML)和/或其他类型的web文档以从web文档提取URL、唯一标识符和/或版本范围或版本号。在一个实施方式中,解析器304包括脚本解释器,其解释和/或提取脚本文件中的脚本。脚本文件是JAVASCRIPT文件、级联样式表等。解析器304识别URL以及在src属性中的#(或哈希)字符之后被附加于URL中的<script>标签的唯一标识符。在一个或多个实施方式中,解析器304使用已知技术来提取URL以及唯一标识符/版本。
所示脚本文件定位器306被配置成确定与唯一标识符和/或版本范围或版本号相关联的脚本文件是否在物理上位于计算设备202A处和/或脚本文件知识库100处。在一个或多个实施方式中,脚本文件位于目录313或文件夹315中。
在一个或多个实施方式中,脚本文件被构建到web浏览器300中。脚本文件是可执行文件的一部分,但是未被硬编码成用来编写脚本文件的脚本语言。替代地,脚本文件是web浏览器300中的数据文件(例如,存储在高速缓存器320或web浏览器数据库312中)且能够被解析器304解析。
在一个或多个实施方式中,脚本文件是包括在web浏览器300的程序安装目录中的数据文件。在一个或多个实施方式中,将脚本文件加密,例如以防止病毒改变脚本文件。
替换地,脚本文件被存储在参考图1描述的远程脚本文件知识库100中。在一个或多个实施方式中,web浏览器300是用户可配置的,使得用户能够选择从其访问脚本文件的一个或多个特定脚本文件知识库。脚本文件定位器306被配置成确定脚本文件位于那些特定脚本文件知识库处。
替换地,将一个或多个特定脚本文件知识库硬编码到web浏览器300中。脚本文件定位器306被配置成确定脚本文件位于被硬编码到web浏览器300中的特定脚本文件知识库处。
所示脚本文件获取器308被配置成从计算设备202A获得脚本文件。计算设备202A基于所获得的web文档中的信息和计算设备202A的特定能力来判定如何获得脚本文件。在一个或多个实施方式中,脚本文件获取器308使用URL、唯一标识符和/或版本范围/版本号而从脚本文件知识库100获得脚本文件。
计算设备202A还被配置成忽略唯一标识符和/或版本。在一个或多个实施方式中,计算设备202A从在URL中的<script>标签中指定的位置获得脚本文件。
脚本文件获取器308也从其获得脚本文件的位置可由计算设备202A的用户配置。在用户接口301上存在允许用户选择从哪个位置获得脚本文件的菜单选项。
在其中将脚本文件构建到计算设备202A上的web浏览器300中的实施方式中,由解析器304来解析脚本文件并在被请求时由脚本文件获取器308获得。在另一实施方式中,可以预先获得一般使用的脚本文件,并由计算设备存储在本地存储上。此本地存储可以是对所获得的脚本的高速缓存的附加,使得甚至对脚本的第一次访问也快速地执行。
根据实施方式,所示web浏览器数据库312被配置成存储至少一个脚本文件。例如,web浏览器数据库312存储由<scripttype="test/JavaScript" src="Exhibit B-SampleJavaScript.js"#jsid=34F9A6B2-2A6D-3356-7D73-26395FA88E71&v2.3"></script>识别的脚本文件。相应地,可以从脚本知识库请求脚本文件,其可位于由src属性指定的相同的服务器处,或者除src属性指定的之外的服务器,使用唯一标识符34F9A6B2-2A6D-3356-7D73-26395FA88E71&v2.3。替换地,如果支持不可用于脚本知识库,则可以如正常地将发生的那样使用由“src”属性指定的URL来检索脚本文件,因为包括哈希标签和在其之后的URL部分通常不被发送到服务器。
所示目录313是被配置成虚拟地或在物理上存储计算机文件的任何模块。在一个或多个实施方式中,目录313存储脚本文件。
渲染器314处理渲染网页,诸如显示HTML文档和/或级联样式表、运行脚本、对鼠标和键盘事件进行响应等。
所示文件夹315是被配置成虚拟地或在物理上存储计算机文件的任何模块。在一个或多个实施方式中,文件夹315存储脚本文件。
所示文件解释器316使用本领域的技术人员已知的技术来解释和/或提取脚本文件中的脚本。在一个或多个实施方式中,文件解释器316是Rhino开放源脚本引擎、V8开放源脚本引擎或Narcissus开放源脚本引擎。
GPU 318用来加速计算设备202A的图像、文本、字体等的渲染。
高速缓存器320是能够存储脚本文件的计算设备202A内的任何适当存储器。例如,在一个或多个实施方式中,高速缓存器320是插入计算设备202A中的闪速驱动器、拇指驱动器、安全数字存储卡等。如所描述的,高速缓存器320是在物理上位于计算设备202A中或另外在物理上且直接地通信接线至计算设备202A的硬盘。替换地,高速缓存器320是web浏览器300中的数据持久化模块的一部分。
web浏览器300的某些或所有功能被嵌入插件322、扩展324或附加件326中。例如,插件322、扩展324和/或附加件326被配置成访问具有用于脚本文件的唯一标识符的web文档,识别该唯一标识符,从web文档获得唯一标识符,确定与唯一标识符相关联的脚本文件是位于计算设备202A上还是远程脚本文件知识库100上,从计算设备202A获得脚本文件,从远程脚本文件知识库100获得脚本文件和/或从在web文档中提供的URL的src属性中所指定的位置获得脚本文件。
示例性web文档
以下是根据实施方式的示例性web文档。示例性web文档是超文本标记语言(HTML)文档。然而,其他web文档适合于实现本文所述的技术。虽然以下web文档及其描述包括超链接和/或其他形式的浏览器可执行代码,但该超链接和/或其他形式的浏览器可执行代码不意在是活动链路。
<html>
<body>
<script type="test/javascript" src="Exhibit A-SampleJavaScript.js#34F9A6B2-2A6D-3356-7D73-26395FA88E71&v2.3"></script>
<button onclick="foo()">Say Hello</button>
</body>
</html>
上述示例性web文档中的URL是Exhibit A—SampleJavaScript.js。该唯一标识符是34F9A6B2-2A6D-3356-7D73-26395FA88E71且被附加在URL中的#(哈希)字符之后。可选版本是2.3,由附加在唯一标识符之后的v2.3指示。作为结果的脚本文件被识别为<scripttype="test/JavaScript" src="Exhibit A-SampleJavaScript.js"#jsid=34F9A6B2-2A6D-3356-7D73-26395FA88E71&v2.3"></script>。
以下是根据本文所述的技术的替换实施方式的示例性web文档。
<html>
<body>
<script type="test/javascript" src="Exhibit A-SampleJavaScript.js#34F9A6B2-2A6D-3356-7D73-26395FA88E71&v2.3+LEQ4"></script>
<button onclick="foo()">Say Hello</button>
</body>
</html>
在此替换示例中,URL也是Exhibit A-SampleJavaScript.js。这是相同的脚本文件,因此其具有相同的唯一标识符。用于脚本文件的版本号已变成版本2.3和4之间的范围。同样地,唯一标识符34F9A6B2-2A6D-3356-7D73-26395FA88E71仍被附加在#(哈希)字符之后。可选版本范围已改变,并且是大于版本2.3且小于或等于版本4的版本,并且使用命名vGT2.3+LEQ4来指示版本范围。GT表示大于且LEQ表示小于或等于。作为结果的脚本文件被识别为<scripttype="test/JavaScript" src="Exhibit A-SampleJavaScript.js"#jsid=34F9A6B2-2A6D-3356-7D73-26395FA88E71&v2.3+LEQ4"></script>。
其他示例性web文档是使用可扩展标记语言(XML)或其他适当语言所编写的。替换web文档还包括图像文件,其包括诸如<IMGsrc="shoe.gif"/>之类的标签。根据实施方式的示例性级联样式表(CSS)被使用诸如<link rel="stylesheet" type="text/css"href="shoemakerstyle.css"/>之类的标签而嵌入web文档中【虽然上述web文档包括仅几行,但脚本文件可以具有数十、数百以及甚至数千行】。
当然,可以将其他文件存储在脚本文件知识库100中。在阅读本文中的描述之后,本领域的技术人员能够使用其他文件类型来实现脚本文件知识库。
用于获得脚本文件的示例性方法
图4图示出根据本文所述的技术的由计算设备、诸如图3中所示的计算设备202A实现的方法400。例如,web文档访问器302访问具有URL和用于脚本文件的唯一标识符的web文档。解析器304识别URL和唯一标识符并从web文档获得它们。脚本文件定位器306确定脚本文件位于哪里,本地地在计算设备上、在脚本文件知识库100处还是在由web文档中的URL指定的位置处。脚本文件获取器308从由脚本文件定位器306指定的位置获得脚本文件,诸如从web浏览器数据库312、高速缓存器320、脚本文件知识库100或由web文档中的URL指定的其他位置。
在方框402中,计算设备202A访问web文档。在一个或多个实施方式中,web文档访问器302访问具有URL和用于脚本文件的唯一标识符和/或版本的web文档。
在方框404中,计算设备202A确定其是否在web文档中识别出唯一标识符和/或版本。在一个或多个实施方式中,解析器304识别URL和唯一标识符并从web文档获得它们。
可选地,计算设备202A还确定其是否识别出被附加于唯一标识符的版本。在一个或多个实施方式中,解析器304识别唯一标识符和/或版本,或者其未识别出唯一标识符和/或版本。
如果解析器304没有识别出唯一标识符,则方法400前进至方框406,其中脚本文件获取器308从在URL中的<script>标签中的src属性中指定的地址获得脚本文件。例如,在计算设备202A不具有识别唯一标识符和/或版本号的能力的情况下,脚本文件获取器308仍将能够从在URL中指定的位置获得脚本文件。
如果在方框404中,计算设备202A没有识别出唯一标识符,则方法400前进至方框412,其中解析器304从web文档获得唯一标识符和/或版本。
在方框414中,计算设备202A确定与唯一标识符和/或版本相关联的脚本文件是否在物理上位于计算设备202A处。在一个或多个实施方式中,脚本文件定位器306确定脚本文件位于web浏览器数据库312中还是在高速缓存器320中。替换地,脚本文件定位器308确定脚本文件位于目录313中还是文件夹315中。
如果该脚本文件位于在该计算设备202A中,则该方法400前进至方框416中,其中计算设备202A从计算设备202A获得与该唯一标识符和/或版本相关联的脚本文件。在一个或多个实施方式中,脚本文件获取器308从web浏览器数据库312或高速缓存器320获得脚本文件。
如果在方框414中计算设备202A确定与唯一标识符相关联的脚本文件在物理上位于远程脚本文件知识库100中,则方法400前进至方框418,其中脚本文件获取器308从脚本文件知识库100获得与唯一标识符和/或版本相关联的脚本文件。
方法400被示为逻辑流图中的方框的集合,其表示能够单独地用机械或与硬件、软件和/或固件的组合来实现操作序列。在软件/固件的背景下,方框表示存储在一个或多个计算机可读存储介质上的指令,其在被一个或多个处理器执行时执行所述操作。请注意,不意在将描述过程的顺序理解为限制,可以按照任何顺序将任何数目的所述过程方框组合以实现过程或替换过程。另外,在不脱离本文所述的主题的精神和范围的情况下可从过程删除单独方框。
示例性计算环境
图5是图示出适合于实现图1的脚本文件知识库100、图2的客户端202A和202B以及服务器204A、204B的示例性计算机系统的高级框图。在某些方面,使用硬件或软件与硬件的组合来实现计算机系统500。
所示计算机系统500包括被耦合到总线508或用于传送信息的其他通信机制的处理器502、存储器504以及数据存储506。输入/输出(I/O)模块510也被耦合到总线508。通信模块512、设备514以及设备516被耦合到I/O模块510。
处理器502是通用微处理器、微控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、控制器、状态机、门逻辑、离散硬件部件或能够执行信息的计算或其他操作的任何其他适当实体。处理器502被用于处理信息。可以用专用逻辑电路来补充或在其中结合处理器502。
存储器504是随机存取存储器(RAM)、闪速存储器、只读存储器(ROM)、可编程只读存储器(PROM)、可擦PROM(EPROM)、寄存器、硬盘、可移动磁盘、CD-ROM、DVD或被用于存储信息、计算机程序和/或指令以由处理器502执行的任何其他适当存储器件。存储器504存储创建用于被用来实现本文所述技术的一个或多个计算机程序的执行环境的代码。在其中计算设备202A从其本地高速缓存器中的一个或多个获得脚本文件的实施方式中,计算设备202A从存储器504获得脚本文件。
除非与上下文另外指明,模块指的是作为硬件、固件和/或其与软件(例如,计算机程序)的组合的部件。如本文所述的计算机程序不一定对应于文件系统中的文件。可以将计算机程序存储在保持其他程序或数据(例如存储在标记语言文档中的一个或多个脚本)的文件的一部分中、专用于正在讨论中的程序的单个文件中或多个协调文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。可以将计算机程序部署成在一个计算机上或在位于一个地点处或跨多个地点分布且被通信网络互连的多个计算机上执行。
在一个或多个计算机程序产品中实现该指令,即用于由计算机系统500执行或控制其操作且根据本领域的技术人员众所周知的任何方法的在一个或多个计算机可读介质上编码的一个或多个计算机程序指令集。术语“计算机可读介质”包括计算机存储介质。例如,计算机存储介质包括但不限于磁存储设备(例如硬盘、软盘和磁条)、光盘(例如紧凑式磁盘(CD)和数字多功能磁盘(DVD))、智能卡、闪速存储器件(例如,拇指驱动器、棒、键驱动器以及SD卡)、以及易失性和非易失性存储器(例如,随机存取存储器(RAM)、只读存储器(ROM))。
数据存储506例如是磁盘或光盘。数据存储506用于存储将被处理器502和计算机系统500中的其他部件使用的信息和指令。
总线508是允许在被耦合到总线508的部件之间交换信息的任何适当机制。例如,总线508是传输介质,诸如同轴电缆、铜线以及光纤、光信号等。
I/O模块510可以是任何输入/输出模块。示例性输入/输出模块510包括诸如通用串行总线(USB)端口之类的数据端口。
通信模块512包括网络接口卡,诸如以太网卡和调制解调器。
设备514是输入设备。示例性设备514包括键盘、指示设备、鼠标或跟踪球,用户可以用其来向计算机系统500提供输入。
设备516是输出设备。示例性设备516包括诸如阴极射线管(CRT)或液晶显示器LCD)显示器之类的显示器,其例如向用户显示信息,诸如网页。
在本文中参考用于特定应用的举例说明而描述了实施方式。应理解的是该实施方式并不意在限制性的。访问本文提供的教导的本领域的技术人员将认识到在其范围和其中该技术将具有显著实用性的附加领域内的附加修改、应用以及实施方式。在示例性实施方式的以上描述中,出于说明的目的,阐述了特定数目、材料、配置及其他细节以便更好地解释要求保护的实施方式。然而,对于本领域的技术人员而言将显而易见的是可使用不同于本文所述的示例的细节来实施权利要求。在其他情况下,省略或简化已知的特征以说明示例性实施方式的描述。
如在本申请中所使用的术语“或”意在意指包括性“或”而不是排他性“或”。也就是说,除非另外指明或从上下文显而易见,“X采用A或B”意在意指任何自然包括性置换。也就是说,如果X采用A;X采用B;或者X采用A和B两者,则根据任何前述情况满足“X采用A或B”。另外,一般地应将在本说明书和所附权利要求中使用的冠词“一”和“一个”理解成意指“一个或多个”,除非另外指定或从上下文显而易见是针对单数形式。
在本文所附的权利要求中,发明人只有当在权利要求中使用词语“用于...的装置”或“用于...的步骤”时才援引美国法典第35条第112款第6段。如果在权利要求中未使用此类词语,则发明人不意在将权利要求理解成涵盖根据美国法典第35条第112款第6段的本文所述的相应结构、材料或动作(及其等价物)。
Claims (26)
1.一种计算设备,包括:
web文档访问器,所述web文档访问器被配置成访问web文档,所述web文档具有用于脚本文件的统一资源定位符(URL)和被附加于所述URL的用于所述脚本文件的唯一标识符,其中,所述脚本文件被包括在位于与由用于所述脚本文件的所述URL指定的服务器不同的服务器处的脚本文件知识库中,并且其中,所述唯一标识符在所述脚本文件知识库内唯一地识别所述脚本文件,并且其中,所述脚本文件知识库包括用于多个不同的web文档的脚本;
解析器,所述解析器被配置成识别所述唯一标识符并从所述web文档获得所述唯一标识符;以及
脚本文件获取器,所述脚本文件获取器被配置成从所述脚本文件知识库获得所述脚本文件。
2.根据权利要求1所述的计算设备,还包括高速缓存器,其中,所述脚本文件获取器还被配置成:响应于确定先前已从所述脚本文件知识库获得与所述唯一标识符相关联的所述脚本文件并且一个副本位于所述高速缓存器中,从所述高速缓存器获得与所述唯一标识符相关联的所述脚本文件。
3.根据权利要求1所述的计算设备,还包括web浏览器数据库,其中,所述脚本文件获取器还被配置成:响应于确定先前已从所述脚本文件知识库获得与所述唯一标识符相关联的所述脚本文件并且一个副本位于所述web浏览器数据库中,从所述web浏览器数据库获得与所述唯一标识符相关联的所述脚本文件。
4.根据权利要求1所述的计算设备,其中:
所述web文档访问器还被配置成访问具有被附加于所述唯一标识符的脚本文件版本号的web文档,并且其中,所述版本识别所述脚本文件的版本,
所述解析器还被配置成识别所述版本号并从所述web文档获得所述版本,以及
所述脚本文件获取器还被配置成从所述脚本文件知识库获得与所述版本相关联的所述脚本文件。
5.根据权利要求1所述的计算设备,其中,所述解析器还被配置成识别在#(哈希)字符之后的<script>标签中的所述唯一标识符。
6.根据权利要求1所述的计算设备,还包括脚本文件定位器,所述脚本文件定位器被配置成确定与所述唯一标识符相关联的所述脚本文件位于所述脚本文件知识库处。
7.根据权利要求1所述的计算设备,其中,所述web文档还包括被附加于所述唯一标识符的用于所述脚本文件的版本,并且其中,所述web文档访问器还被配置成使用用于所述脚本文件的所述版本来访问所述web文档。
8.一种由被配置成利用脚本文件知识库的计算设备实现的方法,所述方法包括:
由所述计算设备来访问web文档,所述web文档具有用于脚本文件的统一资源定位符(URL),其中,所述web文档还包括被附加于所述URL的用于所述脚本文件的唯一标识符,其中,所述脚本文件被包括在所述脚本文件知识库中,并且其中,所述唯一标识符唯一地识别所述脚本文件;
由所述计算设备来识别被附加于所述脚本文件的所述URL的所述唯一标识符;
由所述计算设备从所述web文档获得所述唯一标识符;
由所述计算设备确定与所述唯一标识符相关联的所述脚本文件位于所述脚本文件知识库处;以及
响应于所述确定,由所述计算设备使用所述唯一标识符从所述脚本文件知识库获得所述脚本文件。
9.根据权利要求8所述的方法,还包括由所述计算设备来执行包括在所述脚本文件中的所述脚本。
10.根据权利要求8所述的方法,其中,所述唯一标识符在#(哈希)字符之后被附加于所述URL。
11.根据权利要求8所述的方法,其中,响应于所述确定,由所述计算设备响应于确定先前已从所述脚本文件知识库获得与所述唯一标识符相关联的所述脚本文件并且一个副本位于所述高速缓存器中,使用所述唯一标识符从所述计算设备上的高速缓存器获得所述脚本文件。
12.根据权利要求8所述的方法,其中,响应于所述确定,由所述计算设备响应于确定先前已从所述脚本文件知识库获得与所述唯一标识符相关联的所述脚本文件并且一个副本位于所述web浏览器数据库中,使用所述唯一标识符从所述计算设备上的web浏览器数据库获得所述脚本文件。
13.根据权利要求8所述的方法,其中,所述web文档还包括被附加于所述唯一标识符的用于所述脚本文件的版本,并且其中,由所述计算设备来访问所述web文档还包括访问用于所述脚本文件的所述版本。
14.根据权利要求8所述的方法,其中,所述脚本文件知识库包括级联样式表(CSS),并且其中,所述唯一标识符唯一地识别所述CSS。
15.根据权利要求8所述的方法,其中,所述脚本文件知识库包括图像文件,并且其中,所述唯一标识符唯一地识别所述图像文件。
16.根据权利要求8所述的方法,其中,所述脚本文件被包括在浏览器扩展中。
17.根据权利要求8所述的方法,其中,所述脚本文件被包括在浏览器可执行代码中。
18.根据权利要求9所述的方法,其中,所述脚本文件被包括在插件中。
19.根据权利要求9所述的方法,其中,所述脚本文件被包括在浏览器附加件中。
20.一种由被配置成利用脚本文件的计算设备实现的方法,所述方法包括:
由所述计算设备来访问web文档,所述web文档具有用于脚本文件的统一资源定位符(URL),其中,所述web文档还包括被附加于所述URL的用于所述脚本文件的唯一标识符;
由所述计算设备来确定所述计算设备识别出被附加于所述脚本文件的所述URL的所述唯一标识符;以及
响应于所述确定,由所述计算设备使用所述唯一标识符从脚本文件知识库获得所述脚本文件。
21.根据权利要求20所述的方法,其中,由所述计算设备来访问所述web文档还包括由所述计算设备来访问用于所述脚本文件的版本,其中,用于所述脚本文件的所述版本被附加于所述唯一标识符。
22.根据权利要求20所述的方法,其中,使用包括在所述URL中的地址来获得所述脚本文件包括由所述计算设备使用所述web文档中的<script>标签的src属性中所指示的地址来获得所述脚本文件。
23.一个或多个计算机可读介质,所述计算机可读介质存储在被执行时促使一个或多个处理器执行一种方法的处理器可执行指令,所述方法包括:
访问web文档,所述web文档具有用于脚本文件的统一资源定位符(URL),其中,所述web文档还包括被附加于所述URL的用于所述脚本文件的唯一标识符;
确定所述处理器识别出所述唯一标识符;以及
响应于所述确定,从所述web文档获得所述唯一标识符,并使用所述唯一标识符从脚本文件知识库获得所述脚本文件。
24.根据权利要求23所述的一个或多个计算机可读介质,还包括响应于所述确定,使用在所述URL中所指示的地址来获得所述脚本文件。
25.根据权利要求23所述的一个或多个计算机可读介质,其中,使用包括在所述URL中的所述地址来获得所述脚本文件包括使用所述web文档中的<script>标签的src属性中所指示的地址来获得所述脚本文件。
26.根据权利要求23所述的一个或多个计算机可读介质,其中,所述唯一标识符在#(哈希)字符之后被附加于所述URL。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/414,109 | 2012-03-07 | ||
US13/414,109 US9053199B2 (en) | 2012-03-07 | 2012-03-07 | Uniquely identifying script files by appending a unique identifier to a URL |
PCT/US2013/028072 WO2013134027A1 (en) | 2012-03-07 | 2013-02-27 | Uniquely identifying script files |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104272291A true CN104272291A (zh) | 2015-01-07 |
CN104272291B CN104272291B (zh) | 2017-06-23 |
Family
ID=49115175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380023570.6A Active CN104272291B (zh) | 2012-03-07 | 2013-02-27 | 唯一地识别脚本文件 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9053199B2 (zh) |
EP (1) | EP2823406B1 (zh) |
CN (1) | CN104272291B (zh) |
DE (1) | DE202013012480U1 (zh) |
WO (1) | WO2013134027A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107329975A (zh) * | 2017-05-26 | 2017-11-07 | 福建网龙计算机网络信息技术有限公司 | 一种缓存脚本文件的方法及系统 |
CN109240743A (zh) * | 2018-08-03 | 2019-01-18 | 挖财网络技术有限公司 | 一种利用特定标签来进行代码切换的方法 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9384020B2 (en) * | 2013-01-18 | 2016-07-05 | Unisys Corporation | Domain scripting language framework for service and system integration |
WO2016114822A1 (en) | 2015-01-16 | 2016-07-21 | Cyph Inc. | A system and method of cryprographically signing web applications |
WO2018008013A2 (en) * | 2016-07-04 | 2018-01-11 | Traffic Guard Dg Ltd | System and method for webpages scripts validation |
US10250389B2 (en) * | 2017-01-17 | 2019-04-02 | Go Daddy Operating Company, LLC | Script verification using a hash |
US10333716B2 (en) * | 2017-01-17 | 2019-06-25 | Go Daddy Operating Company, LLC | Script verification using a digital signature |
US10289836B1 (en) * | 2018-05-18 | 2019-05-14 | Securitymetrics, Inc. | Webpage integrity monitoring |
US10831892B2 (en) * | 2018-06-07 | 2020-11-10 | Sap Se | Web browser script monitoring |
CN109471988B (zh) * | 2018-10-12 | 2024-06-25 | 平安科技(深圳)有限公司 | 页面信息更新方法、装置、计算机设备及存储介质 |
US11368477B2 (en) * | 2019-05-13 | 2022-06-21 | Securitymetrics, Inc. | Webpage integrity monitoring |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1398377A (zh) * | 2000-02-04 | 2003-02-19 | 美国联机股份有限公司 | 提供和呈现可定标web页面的系统和处理 |
US20080177859A1 (en) * | 2001-05-31 | 2008-07-24 | Nickerson Thomas W | System and method for displaying dynamic page content in a page-caching browser |
CN101821764A (zh) * | 2007-10-12 | 2010-09-01 | 微软公司 | 自动操纵web文档集合 |
US20110055683A1 (en) * | 2009-09-02 | 2011-03-03 | Facebook Inc. | Page caching for rendering dynamic web pages |
CN102203765A (zh) * | 2008-08-26 | 2011-09-28 | 林利德数字股份有限公司 | 在没有明确地提供的装置或用户识别信息的情况下唯一地识别网络分布式装置 |
US20120036264A1 (en) * | 2010-08-03 | 2012-02-09 | Changhao Jiang | Efficient Storage and Retrieval of Resources for Rendering Structured Documents |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6249844B1 (en) * | 1998-11-13 | 2001-06-19 | International Business Machines Corporation | Identifying, processing and caching object fragments in a web environment |
US7970816B2 (en) * | 2002-03-01 | 2011-06-28 | NetSuite Inc. | Client-side caching of pages with changing content |
US20050097107A1 (en) * | 2003-10-29 | 2005-05-05 | Burt Terence M. | Seamless Affiliated Link System |
US8001215B2 (en) | 2005-11-29 | 2011-08-16 | Microsoft Corporation | Unlimited history store for navigational web applications |
US8683201B2 (en) * | 2007-10-16 | 2014-03-25 | D&B Business Information Solutions Limited | Third-party-secured zones on web pages |
US8868637B2 (en) * | 2009-09-02 | 2014-10-21 | Facebook, Inc. | Page rendering for dynamic web pages |
US8812565B2 (en) * | 2010-10-15 | 2014-08-19 | Microsoft Corporation | Optimizing browser caching through deterministic marking of files |
US8484373B2 (en) * | 2010-10-25 | 2013-07-09 | Google Inc. | System and method for redirecting a request for a non-canonical web page |
US8396920B1 (en) * | 2011-11-30 | 2013-03-12 | Google Inc. | Clean URLs in web applications |
-
2012
- 2012-03-07 US US13/414,109 patent/US9053199B2/en not_active Expired - Fee Related
-
2013
- 2013-02-27 EP EP13757211.1A patent/EP2823406B1/en active Active
- 2013-02-27 CN CN201380023570.6A patent/CN104272291B/zh active Active
- 2013-02-27 DE DE202013012480.6U patent/DE202013012480U1/de not_active Expired - Lifetime
- 2013-02-27 WO PCT/US2013/028072 patent/WO2013134027A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1398377A (zh) * | 2000-02-04 | 2003-02-19 | 美国联机股份有限公司 | 提供和呈现可定标web页面的系统和处理 |
US20080177859A1 (en) * | 2001-05-31 | 2008-07-24 | Nickerson Thomas W | System and method for displaying dynamic page content in a page-caching browser |
CN101821764A (zh) * | 2007-10-12 | 2010-09-01 | 微软公司 | 自动操纵web文档集合 |
CN102203765A (zh) * | 2008-08-26 | 2011-09-28 | 林利德数字股份有限公司 | 在没有明确地提供的装置或用户识别信息的情况下唯一地识别网络分布式装置 |
US20110055683A1 (en) * | 2009-09-02 | 2011-03-03 | Facebook Inc. | Page caching for rendering dynamic web pages |
US20120036264A1 (en) * | 2010-08-03 | 2012-02-09 | Changhao Jiang | Efficient Storage and Retrieval of Resources for Rendering Structured Documents |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107329975A (zh) * | 2017-05-26 | 2017-11-07 | 福建网龙计算机网络信息技术有限公司 | 一种缓存脚本文件的方法及系统 |
CN109240743A (zh) * | 2018-08-03 | 2019-01-18 | 挖财网络技术有限公司 | 一种利用特定标签来进行代码切换的方法 |
CN109240743B (zh) * | 2018-08-03 | 2021-07-27 | 挖财网络技术有限公司 | 一种利用特定标签来进行代码切换的方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2823406A1 (en) | 2015-01-14 |
DE202013012480U1 (de) | 2017-01-19 |
WO2013134027A1 (en) | 2013-09-12 |
US20130238970A1 (en) | 2013-09-12 |
EP2823406A4 (en) | 2015-10-07 |
CN104272291B (zh) | 2017-06-23 |
WO2013134027A8 (en) | 2014-11-27 |
US9053199B2 (en) | 2015-06-09 |
EP2823406B1 (en) | 2020-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104272291A (zh) | 唯一地识别脚本文件 | |
US9665256B2 (en) | Identifying selected dynamic content regions | |
US11562099B1 (en) | Sanitization of content displayed by web-based applications | |
Buels et al. | JBrowse: a dynamic web platform for genome visualization and analysis | |
US20150347619A1 (en) | Contextual commenting on the web | |
US20140136944A1 (en) | Real time web development testing and reporting system | |
JP2012168950A (ja) | ウェブ・アプリケーションのブラウザに依存しない自動互換性チェックのためのウェブ・サービス | |
CN105900091A (zh) | 加速文档加载 | |
US20150095409A1 (en) | Method and System for Mapping, Tracking, and Transporting of Content Data on a Webpage | |
US20170031877A1 (en) | Web Page Design System | |
US11971932B2 (en) | Mechanism for web crawling e-commerce resource pages | |
US9081865B2 (en) | Identifying selected elements in dynamic content | |
CN103593406A (zh) | 一种静态资源标识处理方法及装置 | |
RU2632149C2 (ru) | Система, способ и постоянный машиночитаемый носитель для проверки веб-страниц | |
JP2018106556A (ja) | 画面情報生成装置、画面情報生成方法、及びプログラム | |
US20140215323A1 (en) | Element detection and inline modification | |
CN110674426A (zh) | 网页行为上报方法和装置 | |
JP6045393B2 (ja) | 情報処理システム | |
CN113139145B (zh) | 页面生成方法、装置、电子设备及可读存储介质 | |
CN106649215B (zh) | 用于在运行时期间生成样式表的系统、方法和介质 | |
Amarasinghe | Service worker development cookbook | |
CN105808628A (zh) | 网页转码方法、装置及系统 | |
US20120227081A1 (en) | Web user agent based inspection | |
CN112051952A (zh) | 图片动态浏览方法、装置、电子设备及可读存储介质 | |
JP5245573B2 (ja) | 関連記事情報表示データ作成方法およびサーバ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: American California Patentee after: Google limited liability company Address before: American California Patentee before: Google Inc. |