唯一地识别脚本文件的制作方法

文档序号:6533743阅读:258来源:国知局
唯一地识别脚本文件的制作方法
【专利摘要】本文描述了与唯一地识别脚本文件相关的技术。本摘要是在理解其将不会被用来解释或限制权利要求的范围和意义的情况下提交的。脚本文件知识库包括具有唯一标识符和可选地版本号的一个或多个脚本文件。计算设备使用唯一标识符/版本号来访问引用脚本文件的web文档。
【专利说明】唯一地识别脚本文件

【背景技术】
[0001] 典型的网页设计者使用各种技术来指示网页的外观应如何。例如,网页设计者使 用标记语言来设计网页的外观且然后使用一个或多个脚本、样式表、图像等来指示用于网 页的任何动作或效果,诸如文本效果、滚动选取框、滑动窗口、动画等。存在许多一般使用的 文件和库,例如.丨AVASCRIPT?文件和库、级联样式表(CSS)、图像文件和库、图标文件和 库等,其能够在设计网页时使用。


【发明内容】

[0002] -般地,本文公开的主题的一个或多个实施方式涉及使用脚本文件知识库的技 术。该技术包括被配置成访问web文档的web文档访问器。该web文档包括用于脚本文件 的统一资源定位符(URL)和被附加于URL的用于脚本文件的唯一标识符。该唯一标识符唯 一地识别脚本文件。该脚本文件被包括在脚本文件知识库中。该技术还包括脚本文件定位 器,其被配置成确定与唯一标识符相关联的脚本文件是位于计算设备处还是脚本文件知识 库处。此外,该技术包括脚本文件获取器,其被配置成响应于确定与唯一标识符相关联的脚 本文件是位于计算设备处还是脚本文件知识库处而从计算设备接收与该唯一标识符相关 联的脚本文件。
[0003] 本
【发明内容】
是在理解其将不会被用来解释或限制权利要求的范围或意义的情况 下提交的。本
【发明内容】
不意图识别要求保护的主题的关键特征或本质特征,也不意图用作 确定要求保护的主题的范围的辅助。

【专利附图】

【附图说明】
[0004] 图1图示出根据本文所述的一个或多个实施方式的示例性脚本文件知识库。
[0005] 图2是适合于本文所述的一个或多个实施方式的计算环境的高级框图。
[0006] 图3是根据本文所述的一个或多个实施方式的计算设备的高级框图。
[0007] 图4是根据本文所述的一个或多个实施方式的用于利用脚本文件知识库的方法 的流程图。
[0008] 图5是图示出根据本文所述的一个或多个实施方式的示例性计算机系统的高级 框图。
[0009] 详细描述参考附图。在图中,附图标记的最左侧数位识别其中该附图标记第一次 出现的图。遍及各图使用相同的附图标记来引用相同的特征和部件。

【具体实施方式】
[0010] 本公开描述了一种脚本文件知识库,其中,设计者可以访问可以用来丰富网页的 外观的脚本文件。该脚本文件向网页添加逻辑效果,诸如滑动窗口、动画、文本效果、色彩、 横幅、表单验证、滚动图像、部分提交(经由异步.丨AVASCRIPT? (AJAX))等。根据一个 或多个实施方式的脚本文件知识库存储一个或多个脚本文件以便例如在设计网页时使用。 脚本文件知识库向所述一个或多个脚本文件分配一个或多个唯一标识符。可以将该唯一标 识符附加于用于脚本文件的统一资源定位符(URL)。可选地,该脚本文件知识库分配用于脚 本文件的版本号,其指定脚本文件的特定版本。替换地,脚本制作者指定用于该脚本文件的 版本。脚本文件知识库使得该唯一标识符和可选地版本号可用于web文档制作者。可以使 用唯一标识符从脚本文件知识库获得脚本文件。
[0011] 本公开还描述了被配置成访问web文档的计算设备,该web文档包括对一个或多 个脚本文件的引用。该web文档包括用于脚本文件的URL。该web文档还包括被附加于URL 的用于脚本文件的唯一标识符。web文档的制作者从脚本文件知识库接收用于脚本文件的 唯一标识符。在一个或多个实施方式中,在web文档中的〈script〉标签的#(或哈希)字 符之后将该唯一标识符附加于src属性。可选地,将版本号或版本范围附加于唯一标识符。
[0012] 如果计算设备认识到用于脚本文件的唯一标识符的使用,则计算设备从web文档 获得唯一标识符,并将其用来从脚本知识库检索期望脚本。计算设备确定与唯一标识符相 关联的脚本文件是位于计算设备本身上还是远程知识库处。如果脚本文件位于计算设备 上,则计算设备使用唯一标识符来从其本地获得脚本文件。如果脚本文件位于远程脚本文 件知识库中,则计算设备使用唯一标识符从远程脚本文件知识库获得脚本文件。
[0013] 如果计算设备未识别唯一标识符,则计算设备从在web文档中的URL中的 〈script〉标签的src属性中所指示的地址获得脚本文件位置信息。计算设备从位于src属 性中指示的位置获得脚本文件。这提供与未识别唯一标识符的计算设备的向后兼容。这还 提供与在知识库中或本地地在计算设备上未找到脚本的计算设备的向后兼容。
[0014] 示例性脚本文件知识库
[0015] 图1图示出根据一个或多个实施方式的示例性脚本文件知识库100,计算设备能 够使用唯一标识符和可选地版本范围或版本号来从其访问脚本文件。在所示示例中,脚本 文件输入端101被通信耦合到脚本检查模块102。脚本检查模块102被通信耦合到分配模 块104,其被通信耦合到附加模块106。附加模块106被通信耦合到脚本文件/唯一标识符 存储108。该脚本文件/唯一标识符存储108通信耦合到脚本文件输出端110以及脚本文 件唯一标识符/版本输出端112。
[0016] 在一个或多个实施方式中,脚本文件输入端101、脚本检查模块102、分配模块 104、附加模块106、脚本文件/唯一标识符存储108、脚本文件输出端110以及唯一标识符/ 版本输出端112之间的通信耦合是有线连接或无线连接。在阅读本文中的描述之后,本领 域的技术人员将能够实现通信耦合。
[0017] 在一个或多个实施方式中,脚本文件输入端101利用任何适当的手动数据输入技 术。手动数据输入技术的示例包括膝上型计算机或台式计算机上的鼠标或键盘。其他示例 包括平板计算机上的触摸屏。在一个或多个实施方式中,脚本文件输入端101是自动化的 且脚本文件例如被经由因特网以电子方式提交给脚本文件输入端101。提交者可使用超文 本传输协议(HTTP)、文件传输协议(FTP)或其他适当联网协议向脚本文件输入端101提交 脚本文件。
[0018] 在一个或多个实施方式中,脚本检查模块102获得由脚本文件制作者/提交者经 由脚本文件输入端101提供的脚本文件。脚本检查模块102对脚本文件执行检查。例如, 脚本检查模块102确定被提交给脚本文件知识库100的脚本文件是否没有恶意软件,诸如 病毒、蠕虫等。脚本检查模块102还确定脚本文件的提交者是否是授权提交者。脚本检查 模块102对提交的脚本文件适当地执行其他检查,并且然后确定是否和/或哪个脚本文件 被批准包括在脚本文件知识库100中。在一个或多个实施方式中,脚本检查模块102查看 正在提交的版本是否已被提交,并且如果是这样的话,则提示提交者关于他或她是否想要 替换现有版本。
[0019] 如果被批准包括在脚本文件知识库100中,分配模块104向每个批准的脚本文件 分配唯一标识符。在某些实施方式中,分配模块104分配版本号或版本号的范围。替换地, 脚本制作者指定用于该脚本文件的版本。将用唯一标识符来识别脚本文件,使得在脚本文 件之间不存在冲突。
[0020] 对于一个或多个实施方式而言,向脚本文件分配一个唯一标识符,使得脚本文件 知识库100中的每个脚本文件以及根据本文所述的技术实现的其他脚本文件知识库具有 其自己的唯一标识符。在其中脚本文件相同但脚本文件版本不同的实施方式中,该唯一标 识符相同,但是向唯一标识符附加版本号。也就是说,多个脚本文件可具有相同的唯一标识 符,但是进一步附加的版本号将脚本文件相互区别开。
[0021] 在一个或多个实施方式中,脚本文件知识库100管理员选择用于脚本文件的唯一 标识符并手动地将唯一标识符输入到分配模块104中。例如,管理员选择用于第一已批准 脚本文件的唯一标识符"0001"、用于第二已批准脚本文件的唯一标识符"0002"、用于第三 已批准脚本文件的唯一标识符" 0003 "等。在阅读本文中的描述之后,本领域的技术人员将 能够实现分配模块104。
[0022] 附加模块106向已批准脚本文件附加已分配的唯一标识符。根据一个或多个实施 方式,附加模块106将唯一标识符附加于用于脚本文件的URL中的〈script〉标签中的src 属性。在其中分配模块104向已批准脚本文件分配版本号或版本范围的实施方式中,附加 模块106向唯一标识符附加版本号或版本范围。
[0023] 脚本文件/唯一标识符存储108例如向公众公布可从脚本文件知识库100获得脚 本文件并且能够使用脚本文件知识库100的URL加唯一标识符来从脚本文件/唯一标识符 存储108访问脚本文件。所请求的脚本文件是经由脚本文件输出端110。所请求的唯一标 识符/版本是经由唯一标识符/版本输出端112。脚本文件/唯一标识符存储108是能够 例如当被请求时向公众提供脚本文件和脚本文件唯一标识符的任何适当存储设备。
[0024] 在一个或多个实施方式中,未授权用户浏览知识库100,查找感兴趣的一个或多个 脚本。脚本知识库100可使用协议读取,诸如文件传输协议(FTP)、超文本传输协议(HTTP)、 HTTP与安全套接字层/传输层安全(HTTPS)的组合等。用于向公众公布可从脚本文件知识 库100获得脚本文件的其他机制包括将种类的目录作为资源描述框架网站概要(RSS)馈送 发布和/或向邮件列表发送电子邮件消息,警告感兴趣的各方有新脚本或脚本的新版本可 用。
[0025] 另外,脚本文件知识库100是使用硬件、固件和/或其与软件的任何组合实现的。 这包括脚本文件输入端101、脚本检查模块102、分配模块104、附加模块106、脚本文件/唯 一标识符存储108、脚本文件输出端110以及唯一标识符/版本输出端112的实现。
[0026] 示例性计算环境
[0027] 图2是用于实现本文所述技术的示例性适当计算环境200的高级框图。所示计算 环境200包括被相互通信耦合并耦合到因特网206的客户端202A和202B、服务器204A和 204B以及脚本文件知识库100。客户端202A和202B分别地经由链路208A和208B被通信 耦合到因特网206,服务器204A和204B分别地经由链路208C和208D被通信耦合到因特网 206,并且脚本库100经由链路208E被通信耦合到因特网206。
[0028] 在一个或多个实施方式中,客户端202A和202B是计算设备,并且同样地由用户操 作以使用脚本文件以及由web文档制作者来设计网页以准备web文档。所示计算设备是台 式计算机。然而,膝上型计算机、笔记本计算机、平板计算机、智能电话等也是适当的计算设 备。
[0029] 服务器204A和204B意在表示web服务器、文件服务器等。
[0030] 因特网206意在表示有线和/或无线分布式通信机制。
[0031] 链路208A、208B、208C、208D和208E意在表示存在于客户端202A和202B、服务器 204A和204B以及脚本文件知识库100之间的有线和/或无线连接。
[0032] 示例性计算设备
[0033] 图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。
[0034] 所示web浏览器300用来访问web文档并根据web文档中的信息来渲染网页。用 户接口 301、web文档访问器302、解析器304、脚本文件定位器306、脚本文件获取器308、 web浏览器数据库312、渲染器314、文件解释器316以及图形处理单元(GPU) 318促进访问 web文档并渲染网页。
[0035] 所示用户接口(UI)301提供用户与计算设备202A之间的接口。UI 301使用已知 技术来处理来自键盘、鼠标、触控板、麦克风或其他用户输入端的输入。
[0036] 所示web文档访问器302被配置成访问web文档。web文档具有用于脚本文件的 URL、被附加于URL的用于脚本文件的唯一标识符和/或被附加于唯一标识符的用于脚本文 件的版本范围或版本号。在一个或多个实施方式中,web文档访问器302使用超文本传输 协议(HTTP)、文件传输协议(FTP)或其他适当联网协议来访问web文档。
[0037] 所示解析器304被配置成识别用于包括在web文档中的脚本文件的URL、唯一标识 符和/或版本范围或版本号。解析器304还被配置成从web文档获得URL、唯一标识符和/ 或版本范围或版本号。在一个或多个实施方式中,解析器被配置成解析HTML、可扩展标记语 言(XML)和/或其他类型的web文档以从web文档提取URL、唯一标识符和/或版本范围或 版本号。在一个实施方式中,解析器304包括脚本解释器,其解释和/或提取脚本文件中的 脚本。脚本文件是JAVASCRIPT文件、级联样式表等。解析器304识别URL以及在src属性 中的#(或哈希)字符之后被附加于URL中的〈script〉标签的唯一标识符。在一个或多个 实施方式中,解析器304使用已知技术来提取URL以及唯一标识符/版本。
[0038] 所示脚本文件定位器306被配置成确定与唯一标识符和/或版本范围或版本号相 关联的脚本文件是否在物理上位于计算设备202A处和/或脚本文件知识库100处。在一 个或多个实施方式中,脚本文件位于目录313或文件夹315中。
[0039] 在一个或多个实施方式中,脚本文件被构建到web浏览器300中。脚本文件是可 执行文件的一部分,但是未被硬编码成用来编写脚本文件的脚本语言。替代地,脚本文件是 web浏览器300中的数据文件(例如,存储在高速缓存器320或web浏览器数据库312中) 且能够被解析器304解析。
[0040] 在一个或多个实施方式中,脚本文件是包括在web浏览器300的程序安装目录中 的数据文件。在一个或多个实施方式中,将脚本文件加密,例如以防止病毒改变脚本文件。
[0041] 替换地,脚本文件被存储在参考图1描述的远程脚本文件知识库100中。在一个 或多个实施方式中,web浏览器300是用户可配置的,使得用户能够选择从其访问脚本文件 的一个或多个特定脚本文件知识库。脚本文件定位器306被配置成确定脚本文件位于那些 特定脚本文件知识库处。
[0042] 替换地,将一个或多个特定脚本文件知识库硬编码到web浏览器300中。脚本文 件定位器306被配置成确定脚本文件位于被硬编码到web浏览器300中的特定脚本文件知 识库处。
[0043] 所示脚本文件获取器308被配置成从计算设备202A获得脚本文件。计算设备202A 基于所获得的web文档中的信息和计算设备202A的特定能力来判定如何获得脚本文件。在 一个或多个实施方式中,脚本文件获取器308使用URL、唯一标识符和/或版本范围/版本 号而从脚本文件知识库100获得脚本文件。
[0044] 计算设备202A还被配置成忽略唯一标识符和/或版本。在一个或多个实施方式 中,计算设备202A从在URL中的〈script〉标签中指定的位置获得脚本文件。
[0045] 脚本文件获取器308也从其获得脚本文件的位置可由计算设备202A的用户配置。 在用户接口 301上存在允许用户选择从哪个位置获得脚本文件的菜单选项。
[0046] 在其中将脚本文件构建到计算设备202A上的web浏览器300中的实施方式中,由 解析器304来解析脚本文件并在被请求时由脚本文件获取器308获得。在另一实施方式中, 可以预先获得一般使用的脚本文件,并由计算设备存储在本地存储上。此本地存储可以是 对所获得的脚本的高速缓存的附加,使得甚至对脚本的第一次访问也快速地执行。
[0047] 根据实施方式,所示web浏览器数据库312被配置成存储至少一个脚本文件。例 如,web 浏览器数据库 312 存储由〈script type = 〃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部分通常不被发送到服务器。
[0048] 所示目录313是被配置成虚拟地或在物理上存储计算机文件的任何模块。在一个 或多个实施方式中,目录313存储脚本文件。
[0049] 渲染器314处理渲染网页,诸如显示HTML文档和/或级联样式表、运行脚本、对鼠 标和键盘事件进行响应等。
[0050] 所示文件夹315是被配置成虚拟地或在物理上存储计算机文件的任何模块。在一 个或多个实施方式中,文件夹315存储脚本文件。
[0051] 所示文件解释器316使用本领域的技术人员已知的技术来解释和/或提取脚本文 件中的脚本。在一个或多个实施方式中,文件解释器316是Rhino开放源脚本引擎、V8开 放源脚本引擎或Narcissus开放源脚本引擎。
[0052] GPU 318用来加速计算设备202A的图像、文本、字体等的渲染。
[0053] 高速缓存器320是能够存储脚本文件的计算设备202A内的任何适当存储器。例 如,在一个或多个实施方式中,高速缓存器320是插入计算设备202A中的闪速驱动器、拇指 驱动器、安全数字存储卡等。如所描述的,高速缓存器320是在物理上位于计算设备202A 中或另外在物理上且直接地通信接线至计算设备202A的硬盘。替换地,高速缓存器320是 web浏览器300中的数据持久化模块的一部分。
[0054] web浏览器300的某些或所有功能被嵌入插件322、扩展324或附加件326中。例 如,插件322、扩展324和/或附加件326被配置成访问具有用于脚本文件的唯一标识符的 web文档,识别该唯一标识符,从web文档获得唯一标识符,确定与唯一标识符相关联的脚 本文件是位于计算设备202A上还是远程脚本文件知识库100上,从计算设备202A获得脚 本文件,从远程脚本文件知识库100获得脚本文件和/或从在web文档中提供的URL的src 属性中所指定的位置获得脚本文件。
[0055] 示例性web文档
[0056] 以下是根据实施方式的示例性web文档。示例性web文档是超文本标记语言 (HTML)文档。然而,其他web文档适合于实现本文所述的技术。虽然以下web文档及其描 述包括超链接和/或其他形式的浏览器可执行代码,但该超链接和/或其他形式的浏览器 可执行代码不意在是活动链路。
[0057] <html>
[0058] 〈body〉
[0059] 〈script type =''test/javascript" src =''Exhibit A-SampleJavaScript. js# 34F9A6B2-2A6D-3356-7D73-26395FA88E71&v2.3〃>〈/script>
[0060] 〈button onclick = "foo ()">Say Hello〈/button>
[0061] 〈/body〉
[0062] </html>
[0063] 上述不例性 web 文档中的 URL 是 Exhibit A一SampleJavaScript. js。该唯一标 识符是34F9A6B2-2A6D-3356-7D73-26395FA88E71且被附加在URL中的#(哈希)字符之 后。可选版本是2. 3,由附加在唯一标识符之后的v2. 3指示。作为结果的脚本文件被识别 为〈script type = 〃test/JavaScript〃 src =''Exhibit A -SampleJavaScript. js〃#jsid =34F9A6B2-2A6D-3356-7D73-26395FA88E71&v2. 3〃>〈/script>。
[0064] 以下是根据本文所述的技术的替换实施方式的示例性web文档。
[0065] <html>
[0066] 〈body〉
[0067] 〈script type =''test/javascript" src =''Exhibit A-SampleJavaScript. js# 34F9A6B2-2A6D-3356-7D73-26395FA88E71&v2. 3+LEQ4〃X/script>
[0068] 〈button onclick = "foo〇">Say Hello〈/button>
[0069] 〈/body〉
[0070] </html>
[0071] 在此替换示例中,URL也是Exhibit A-SampleJavaScript. js。这是相同的脚本文 件,因此其具有相同的唯一标识符。用于脚本文件的版本号已变成版本2. 3和4之间的范 围。同样地,唯一标识符34F9A6B2-2A6D-3356-7D73-26395FA88E71仍被附加在# (哈希)字 符之后。可选版本范围已改变,并且是大于版本2. 3且小于或等于版本4的版本,并且使用 命名VGT2.3+LEQ4来指示版本范围。GT表示大于且LEQ表示小于或等于。作为结果的脚本文 件被识别为〈script type = 〃test/JavaScript〃 src = ^Exhibit A-SampleJavaScript. js"#jsid = 34F9A6B2-2A6D-3356-7D73-26395FA88E71&v2. 3+LEQ4〃X/script>。
[0072] 其他示例性web文档是使用可扩展标记语言(XML)或其他适当语言所编写的。替 换web文档还包括图像文件,其包括诸如〈IMGsrc = "shoe. gif〃/>之类的标签。根据实施 方式的示例性级联样式表(CSS)被使用诸如〈link rel = "stylesheet" type = "text/ css〃 href = 〃shoemakerstyle. css〃/>之类的标签而嵌入web文档中【虽然上述web文档 包括仅几行,但脚本文件可以具有数十、数百以及甚至数千行】。
[0073] 当然,可以将其他文件存储在脚本文件知识库100中。在阅读本文中的描述之后, 本领域的技术人员能够使用其他文件类型来实现脚本文件知识库。
[0074] 用于获得脚本文件的示例性方法
[0075] 图4图示出根据本文所述的技术的由计算设备、诸如图3中所示的计算设备202A 实现的方法400。例如,web文档访问器302访问具有URL和用于脚本文件的唯一标识符 的web文档。解析器304识别URL和唯一标识符并从web文档获得它们。脚本文件定位器 306确定脚本文件位于哪里,本地地在计算设备上、在脚本文件知识库100处还是在由web 文档中的URL指定的位置处。脚本文件获取器308从由脚本文件定位器306指定的位置获 得脚本文件,诸如从web浏览器数据库312、高速缓存器320、脚本文件知识库100或由web 文档中的URL指定的其他位置。
[0076] 在方框402中,计算设备202A访问web文档。在一个或多个实施方式中,web文 档访问器302访问具有URL和用于脚本文件的唯一标识符和/或版本的web文档。
[0077] 在方框404中,计算设备202A确定其是否在web文档中识别出唯一标识符和/或 版本。在一个或多个实施方式中,解析器304识别URL和唯一标识符并从web文档获得它 们。
[0078] 可选地,计算设备202A还确定其是否识别出被附加于唯一标识符的版本。在一个 或多个实施方式中,解析器304识别唯一标识符和/或版本,或者其未识别出唯一标识符和 /或版本。
[0079] 如果解析器304没有识别出唯一标识符,则方法400前进至方框406,其中脚本文 件获取器308从在URL中的〈script〉标签中的src属性中指定的地址获得脚本文件。例 如,在计算设备202A不具有识别唯一标识符和/或版本号的能力的情况下,脚本文件获取 器308仍将能够从在URL中指定的位置获得脚本文件。
[0080] 如果在方框404中,计算设备202A没有识别出唯一标识符,则方法400前进至方 框412,其中解析器304从web文档获得唯一标识符和/或版本。
[0081] 在方框414中,计算设备202A确定与唯一标识符和/或版本相关联的脚本文件是 否在物理上位于计算设备202A处。在一个或多个实施方式中,脚本文件定位器306确定脚 本文件位于web浏览器数据库312中还是在高速缓存器320中。替换地,脚本文件定位器 308确定脚本文件位于目录313中还是文件夹315中。
[0082] 如果该脚本文件位于在该计算设备202A中,则该方法400前进至方框416中,其 中计算设备202A从计算设备202A获得与该唯一标识符和/或版本相关联的脚本文件。在 一个或多个实施方式中,脚本文件获取器308从web浏览器数据库312或高速缓存器320 获得脚本文件。
[0083] 如果在方框414中计算设备202A确定与唯一标识符相关联的脚本文件在物理上 位于远程脚本文件知识库100中,则方法400前进至方框418,其中脚本文件获取器308从 脚本文件知识库100获得与唯一标识符和/或版本相关联的脚本文件。
[0084] 方法400被示为逻辑流图中的方框的集合,其表示能够单独地用机械或与硬件、 软件和/或固件的组合来实现操作序列。在软件/固件的背景下,方框表示存储在一个或多 个计算机可读存储介质上的指令,其在被一个或多个处理器执行时执行所述操作。请注意, 不意在将描述过程的顺序理解为限制,可以按照任何顺序将任何数目的所述过程方框组合 以实现过程或替换过程。另外,在不脱离本文所述的主题的精神和范围的情况下可从过程 删除单独方框。
[0085] 示例性计算环境
[0086] 图5是图示出适合于实现图1的脚本文件知识库100、图2的客户端202A和202B 以及服务器204A、204B的示例性计算机系统的高级框图。在某些方面,使用硬件或软件与 硬件的组合来实现计算机系统500。
[0087] 所示计算机系统500包括被耦合到总线508或用于传送信息的其他通信机制的处 理器502、存储器504以及数据存储506。输入/输出(I/O)模块510也被耦合到总线508。 通信模块512、设备514以及设备516被耦合到I/O模块510。
[0088] 处理器502是通用微处理器、微控制器、数字信号处理器(DSP)、专用集成电路 (ASIC)、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、控制器、状态机、门逻辑、离散 硬件部件或能够执行信息的计算或其他操作的任何其他适当实体。处理器502被用于处理 信息。可以用专用逻辑电路来补充或在其中结合处理器502。
[0089] 存储器504是随机存取存储器(RAM)、闪速存储器、只读存储器(ROM)、可编程只读 存储器(PR0M)、可擦PROM (EPROM)、寄存器、硬盘、可移动磁盘、⑶-ROM、DVD或被用于存储信 息、计算机程序和/或指令以由处理器502执行的任何其他适当存储器件。存储器504存 储创建用于被用来实现本文所述技术的一个或多个计算机程序的执行环境的代码。在其中 计算设备202A从其本地高速缓存器中的一个或多个获得脚本文件的实施方式中,计算设 备202A从存储器504获得脚本文件。
[0090] 除非与上下文另外指明,模块指的是作为硬件、固件和/或其与软件(例如,计算 机程序)的组合的部件。如本文所述的计算机程序不一定对应于文件系统中的文件。可以 将计算机程序存储在保持其他程序或数据(例如存储在标记语言文档中的一个或多个脚 本)的文件的一部分中、专用于正在讨论中的程序的单个文件中或多个协调文件中(例如, 存储一个或多个模块、子程序或代码部分的文件)。可以将计算机程序部署成在一个计算机 上或在位于一个地点处或跨多个地点分布且被通信网络互连的多个计算机上执行。
[0091] 在一个或多个计算机程序产品中实现该指令,即用于由计算机系统500执行或控 制其操作且根据本领域的技术人员众所周知的任何方法的在一个或多个计算机可读介质 上编码的一个或多个计算机程序指令集。术语"计算机可读介质"包括计算机存储介质。例 如,计算机存储介质包括但不限于磁存储设备(例如硬盘、软盘和磁条)、光盘(例如紧凑式 磁盘(CD)和数字多功能磁盘(DVD))、智能卡、闪速存储器件(例如,拇指驱动器、棒、键驱动 器以及SD卡)、以及易失性和非易失性存储器(例如,随机存取存储器(RAM)、只读存储器 (ROM))。
[0092] 数据存储506例如是磁盘或光盘。数据存储506用于存储将被处理器502和计算 机系统500中的其他部件使用的信息和指令。
[0093] 总线508是允许在被耦合到总线508的部件之间交换信息的任何适当机制。例如, 总线508是传输介质,诸如同轴电缆、铜线以及光纤、光信号等。
[0094] I/O模块510可以是任何输入/输出模块。不例性输入/输出模块510包括诸如 通用串行总线(USB)端口之类的数据端口。
[0095] 通信模块512包括网络接口卡,诸如以太网卡和调制解调器。
[0096] 设备514是输入设备。示例性设备514包括键盘、指示设备、鼠标或跟踪球,用户 可以用其来向计算机系统500提供输入。
[0097] 设备516是输出设备。示例性设备516包括诸如阴极射线管(CRT)或液晶显示器 IXD)显示器之类的显示器,其例如向用户显示信息,诸如网页。
[0098] 在本文中参考用于特定应用的举例说明而描述了实施方式。应理解的是该实施方 式并不意在限制性的。访问本文提供的教导的本领域的技术人员将认识到在其范围和其中 该技术将具有显著实用性的附加领域内的附加修改、应用以及实施方式。在示例性实施方 式的以上描述中,出于说明的目的,阐述了特定数目、材料、配置及其他细节以便更好地解 释要求保护的实施方式。然而,对于本领域的技术人员而言将显而易见的是可使用不同于 本文所述的示例的细节来实施权利要求。在其他情况下,省略或简化已知的特征以说明示 例性实施方式的描述。
[0099] 如在本申请中所使用的术语"或"意在意指包括性"或"而不是排他性"或"。也就 是说,除非另外指明或从上下文显而易见,"X采用A或B"意在意指任何自然包括性置换。 也就是说,如果X采用A ;X采用B ;或者X采用A和B两者,则根据任何前述情况满足"X采 用A或B"。另外,一般地应将在本说明书和所附权利要求中使用的冠词"一"和"一个"理 解成意指"一个或多个",除非另外指定或从上下文显而易见是针对单数形式。
[0100] 在本文所附的权利要求中,发明人只有当在权利要求中使用词语"用于...的装 置"或"用于...的步骤"时才援引美国法典第35条第112款第6段。如果在权利要求中 未使用此类词语,则发明人不意在将权利要求理解成涵盖根据美国法典第35条第112款第 6段的本文所述的相应结构、材料或动作(及其等价物)。
【权利要求】
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。
【文档编号】G06F15/16GK104272291SQ201380023570
【公开日】2015年1月7日 申请日期:2013年2月27日 优先权日:2012年3月7日
【发明者】杰弗里·盖津 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1