在远程设备上显示用户界面的方法和系统的制作方法

文档序号:7944872阅读:285来源:国知局
专利名称:在远程设备上显示用户界面的方法和系统的制作方法
技术领域
本发明涉及用户界面。更具体地,本发明提供了生成皮肤和/或使用皮肤以显示 用户界面的方法和系统。仅用于举例的目的,本发明已被用于通过Web浏览器显示界面。但 是,应该理解本发明可用于更广泛的领域中。发明的背景技术
许多软件程序能够显示用户交互界面。用户界面通常提供一套控件,如文字输入 控件,日历输入控件和按钮控件。通过这些控件,用户可以与软件程序,如Web浏览器进行 交互。即使是相同的软件程序,不同的用户可能希望不同的界面外观。例如,用户可能希 望在界面上方显示一个特殊的徽标,对该界面采用特殊的背景色,和/或以特殊的形状显 示输入框和/或按钮。因而,产生了应用于软件程序的“皮肤”技术。常规的“皮肤”技术使用皮肤定义文件来定义界面控件的外观。例如,界面控件是 文本输入控件、日历输入控件或按钮控件。再例如,界面控件的外观包括长度、宽度、颜色、 和/或背景图片。具体地,对于基于Web的应用程序,皮肤被定义在一个级联样式表中,基 于该级联样式表界面外观可以改变。尽管级联样式表可以用来改变界面外观,但往往缺乏灵活性。例如,常规的“皮肤” 技术往往不能有效地控制界面控件的边界,用户界面顶部的徽标,和/或某些输出元素。因 此,需要改进显示用户界面的技术。发明概述本发明涉及用户界面。更具体地,本发明提供了生成皮肤和/或使用皮肤以显示 用户界面的方法和系统。仅用于举例的目的,本发明已被用于通过web浏览器显示界面。但 是,应该理解本发明可用于更广泛的领域中。根据一实施方案,在远程设备上显示用户界面的方法包括通过计算机服务器接收 来自远程设备的第一信号。该第一信号与统一资源定位器请求相关联。该计算机服务器中 至少包括用户界面引擎和皮肤引擎。另外,该方法还包括通过用户界面引擎执行用户界面 脚本;基于至少与用户界面脚本相关的信息从用户界面引擎将至少皮肤名称和一个或多个 用户界面元素导入到皮肤引擎中;和基于至少与皮肤名称有关的信息通过皮肤引擎确定皮 肤的可用性。皮肤与具有文件夹名称的皮肤文件夹相对应,并且该文件夹名称与该皮肤名 称相对应。文件夹包含一个或多个动态HTML模板。此外,如果皮肤被确定为可用,则该方 法还包括基于至少与所述的一个或多个动态HTML模板相关的信息通过皮肤引擎装饰所述 一个或多个用户界面元素,和从计算机服务器向所述远程设备发送第二信号。该第二信号 与所述的一个或多个装饰的用户界面元素相关联,以在该远程设备上显示第一用户界面。根据另一实施方案,用于在远程设备上显示用户界面的计算机服务器包括用户界 面引擎、皮肤引擎以及与皮肤引擎相关联的皮肤数据库。用户界面引擎被配置为从远程设 备中接收与统一资源定位器请求相关的第一信号,并且执行用户界面脚本。皮肤引擎被配 置为基于至少与用户界面脚本相关的信息从用户界面引擎导入至少一个皮肤名称以及一个或多个用户界面元素,并基于至少与皮肤名称相关的信息确定皮肤的可用性。皮肤与具 有文件夹名称的皮肤文件夹相对应,并且该文件夹名称与该皮肤名称相对应。根据另一实施方案,计算机程序产品包括计算机可读介质,该计算机可读介质包 括在远程设备中显示用户界面的指令。该计算机可读介质包括一个或多个从远程设备接收 与统一资源定位器请求相关的信息的指令,一个或多个执行用户界面脚本的指令,一个或 多个基于至少与用户界面脚本相关的信息至少传输皮肤名称以及一个或多个用户界面元 素的指令,和一个或多个基于至少与皮肤名称相关的信息确定皮肤可用性的指令。皮肤与 具有文件夹名称的皮肤文件夹相对应,并且该文件夹名称与该皮肤名称相对应。皮肤文件 夹包括一个或多个动态HTML模板。此外,如果所述皮肤被确定为可用,则该计算机可读介 质还包括一个或多个基于至少与一个或多个动态HTML模板相关的信息装饰所述一个或多 个用户界面元素的指令,输出与该一个或多个装饰的用户界面元素相关的信息以在远程设 备上显示用户界面的指令。相对于常规技术,本发明可以获得许多益处。本发明的某些实施方案提供了皮肤 引擎,定义了具有皮肤名称和皮肤和皮肤文件夹。例如,皮肤文件夹包括至少一个或多个动 态HTML模板,又例如,皮肤引擎可装饰具有皮肤的用户界面元素,并导出装饰的用户界面 元素。根据实施方案,本发明的一个或多个所述益处可以被实现。通过参考如下的详细 描述和附图,本发明的所述益处和各种其它目标、特征和优点可以得到更充分的理解。附图的简要说明

图1是简单示意图,其显示了根据本发明的实施方案在一个或多个远程设备上显 示一个或多个用户界面的系统;图2是简单示意图,其显示了根据本发明的另一实施方案在一个或多个远程设备 上显示一个或多个用户界面的系统;图3是简单示意图,其显示了根据本发明的实施方案的皮肤引擎的某些组件;图4是简单示意图,其显示了根据本发明的实施方案在一个或多个远程设备上显 示一个或多个用户界面的方法;图5是简单示意图,其显示了根据本发明的实施方案通过皮肤名称载入皮肤和确 定皮肤可用性的方法;图6是简单示意图,其显示了根据本发明的实施方案生成和储存能在一个或多个 远程设备中显示一个或多个用户界面的皮肤的方法;图7是简单示意图,其显示了根据本发明的实施方案生成的皮肤的组件;图8和图9是简单示意图,其显示了根据本发明的实施方案某些用户界面控件与 作为所生成的皮肤的一部分的某些动态html模板之间的配对;图10、11和12是简单示意图,其显示了根据本发明的某些实施方案通过在一个或 多个远程设备中显示一个或多个用户界面的方法而导出的用户界面(UI)元素;图13是简单示意图,其显示了根据本发明的实施方案在一个或多个远程设备中显示一个或多个用户界面的方法的示例性应用;图14-21是简单示意图,其显示了根据本发明的实施方案用于生成的皮肤的各种 动态html模板的计算机编码;
发明的详细描述本发明涉及用户界面。更具体地,本发明提供了生成皮肤和/或使用皮肤以显示 用户界面的方法和系统。仅用于举例的目的,本发明已被用于通过web浏览器显示界面。但 是,应该理解本发明可用于更广泛的领域中。图1是简单示意图,显示了根据本发明的实施方案在一个或多个远程设备上显示 一个或多个用户界面的系统。该示意图仅是为了举例的目的,并不倾向于限制权利要求书 的范围。本领域的普通技术人员应该理解存在许多变体,替换和改进。系统100包括远程设 备122、124和126,和服务器110,该服务器包括操作系统112、应用软件114、用户界面(UI) 引擎116和皮肤引擎118。尽管上文显示了所述系统的可选组件,但存在许多替换、改进和 变体。例如,一些组件可以被扩展/或组合。另一些组件可以被加入到上述组件中。根据 实施方案,组件的排列可以相换。在本说明书中有这些组件的更详细的描述。如图1所示,根据实施方案,远程设备122、124和126可通过因特网130、调制解调 器140、防火墙150与服务器110互连。远程设备122、124和126分别是个人电脑、无线电 设备和个人数字助理(PDA)设备。例如,远程设备122、124和126各自都装有网络浏览器。 又例如,无线电设备124为移动电话。再例如,无线电设备124通过网络130和无线网络可 与服务器110连通。根据另一实施方案,服务器110是包括皮肤数据库的Web服务器。根据另一实施 方案,服务器110是包括皮肤数据库的计算机服务器。根据另一实施方案,用户界面(UI) 引擎116包括一个或多个软件模块。根据另一实施方案,皮肤引擎118包括一个或多个软 件模块。图2是简单示意图,其显示了根据本发明的另一实施方案在一个或多个远程设备 上显示一个或多个用户界面的系统100。该示意图仅是为了举例的目的,并不倾向于限制权 利要求书的范围。本领域的普通技术人员应该理解存在许多变体,替换和改进。该系统100 包括用户界面(UI)引擎116、皮肤引擎118、皮肤数据库210和一个和多个客户设备220。 尽管上文显示了所述系统的可选组件,但存在许多替换、改进和变体。例如,一些组件可以 被扩展/或组合。另一些组件可以被加入到上述组件中。根据实施方案,组件的排列可以 相换。在本说明书中有这些组件的更详细的描述。根据实施方案,皮肤数据库210是服务器110的一部分。例如,服务器110至少还 包括用户界面(UI)引擎116和皮肤引擎118。根据另一实施方案,所述一个或多个客户设 备220包括远程设备122、124和/或126。如图2所示,客户设备220被配置为与用户界面 引擎116直接连接,或至少通过网络130、调制解调器140和/或防火墙150间接连接。另 夕卜,用户界面引擎116进一步被配置为与,例如操作系统112、应用软件114和/或皮肤引 擎118连接。又例如,皮肤引擎118被配置为与操作系统112、应用软件114、用户界面软件 116和/或皮肤数据库210连接。图3是简单示意图,显示了根据本发明的实施方案的皮肤引擎118的某些组件。该 示意图仅是为了举例的目的,并不倾向于限制权利要求书的范围。本领域的普通技术人员 应该理解存在许多变体,替换和改进。皮肤引擎118包括输入/输出(I/O)接口模块310、 有效性检测模块320、模板管理器模块330和装饰模块340。尽管上文显示了所述系统的可 选组件,但存在许多替换、改进和变体。例如,一些组件可以被扩展/或组合。另一些组件可以被加入到上述组件中。根据实施方案,组件的排列可以相换。在本说明书中有这些组 件的更详细的描述。输入/输出(I/O)接口模块310被配置为从用户界面引擎116接收输入并向用户 界面引擎116发送输出。根据实施方案,输入/输出(I/O)接口模块310进一步被配置为 与有效性检测模块320和/或装饰模块340连接。根据另一实施方案,有效性检测模块320 和装饰模块340都被配置成与模板管理器模块330连接,该模板管理器模块330还与皮肤 数据库210连接。图4是简单示意图,其显示了根据本发明的实施方案在一个或多个远程设备上显 示一个或多个用户界面的方法。该示意图仅是为了举例的目的,并不倾向于限制权利要求 书的范围。本领域的普通技术人员应该理解存在许多变体,替换和改进。该方法400包括 接收统一资源定位器(URL)请求的步骤410,调用用户界面脚本的步骤420,导入皮肤名称 和一个或多个用户界面(UI)元素的步骤430,通过皮肤名称载入皮肤的步骤440,确定该皮 肤可用性的步骤450,导出不含皮肤的一个或多个用户界面(UI)元素的步骤460,调用一个 或多个用户界面模板的步骤470,装饰一个或多个用户界面(UI)元素的步骤480,导出一个 或多个具有皮肤的用户界面(UI)元素的步骤490,输出一个或多个用户界面(UI)元素的 步骤492。尽管上文显示了该方法的所选步骤,但存在许多替换、改进和变体。例如,步骤 440和450被组合。其它的步骤可以嵌入以上步骤。根据实施方案,步骤的顺序可以互换。 例如,该方法中一些或所有步骤由编码指导的计算机或处理器管理。又例如,该方法中的一 些或所有步骤根据计算机程序产品中的包括或存储在计算机可读介质中的指令运行。再例 如,该方法400自动运行。在例如,该方法400通过服务器110运行。在本说明书中对这些 步骤有详细描述。在步骤410中,服务器110从客户设备,如远程设备122、124或126接收统一资源 定位器(URL)请求,例如,通过作为服务器110的一部分的用户界面引擎116接收该统一资 源定位器(URL)请求。在步骤420中,用户界面引擎116调用用户界面(UI)脚本。在一实 施方案中,运行该用户界面脚本以生成一个或多个用户界面(UI)元素和/或皮肤名称。例 如,该用户界面脚本是计算机软件程序。在另一例子中,该用户界面脚本包括一个或多个计 算机软件编码。在另一例子中,该一个或多个用户界面元素包括文字输入框、日历输入框和 /或按钮。在又一例子中,该皮肤名称是所述用户界面脚本请求其装饰所述一个或多个用户 界面元素的皮肤的名称。在步骤430中,皮肤引擎118从用户界面引擎116导入皮肤名称和一个或多个用 户界面(UI)元素。例如,在步骤420中,所述用户界面脚本生成该皮肤名称和一个或多个 用户界面元素。又例如,通过作为皮肤引擎118的一部分的输入/输出(I/O)接口模块310 导入该皮肤名称和一个或多个用户界面元素。在步骤440中,通过皮肤引擎118基于所述皮肤名称尝试载入皮肤。在步骤450 中,通过引擎118基于所述皮肤名称确定皮肤的可用性。如果该皮肤被确定为可用,则通过 皮肤引擎118载入该皮肤。如果该皮肤被确定为不可用,则皮肤引擎118不载入该皮肤。例 如,该皮肤的载入包括一个或多个与皮肤数据库210的相互作用。在另一例子中,该皮肤与 文件夹相对应,该文件夹的名称与所述皮肤名称相同或相匹配。在一实施方案中,该文件夹 包括一个或多个层叠式样式表文件、一个或多个图像和/或图标、和一个或多个动态html模板。如果所述皮肤被确定为不可用并且该皮肤未被载入,则运行步骤460。在步骤460 中,将一个或多个不具有皮肤的用户界面(UI)元素从皮肤引擎118中导出到用户界面引擎 116中。例如,将该一个或多个不具有皮肤的用户界面元素从作为皮肤引擎118的一部分的 所述输入/输出(I/O)接口模块导出。又例如,该一个或多个不具有皮肤的用户界面元素 与在步骤430中所导入的所述一个或多个用户界面元素相同。
如果所述皮肤被确定为可用并且该皮肤被载入,则运行步骤470。在步骤470中, 皮肤引擎118调用一个或多个用户界面(UI)模板。更具体地,例如,通过作为皮肤引擎118 的一部分的所述模板管理器模块330调用该一个或多个用户界面模板。又例如,该一个或 多个用户界面模板是一个或多个动态html模板。根据实施方案,该一个或多个动态html 模板包括页面资源模板、页顶模板、字段部分模板、字段框模板、列表部分模板、按钮部分模 板、按钮框模板和/或页脚模板。在480步骤中,通过皮肤引擎118用所述一个或多个调用的用户界面模板装饰所 述一个或多个导入的用户界面(UI)元素。例如,通过作为皮肤引擎118的一部分的所述装 饰模块340装饰盖一个或多个导入的用户界面元素。又例如,该一个或多个调用的用户界 面模板是一个或多个动态html模板。再例如,该一个或多个导入的用户界面元素被装饰, 并因而成为一个或多个具有皮肤的用户界面元素。在步骤490中,将一个或多个具有皮肤的用户界面(UI)元素从皮肤引擎118导出 到用户界面引擎116中。例如,用作为皮肤引擎118的一部分的所述输入/输出(I/O)接 口模块导出该一个或多个具有皮肤的用户界面元素。又例如,在步骤480中生成该一个或 多个具有皮肤的用户界面元素。在步骤492中,将所述一个或多个导出的用户界面元素从服务器110输出到客户 设备中。例如,在步骤460中导出该一个或多个用户界面元素。又例如,在步骤490中导出 该一个或多个用户界面元素。根据一实施方案,从作为服务器110的一部分的所述用户界 面引擎输出该一个或多个导出的用户界面元素。根据另一实施方案,在步骤410中,客户设 备是服务器110从其中接收统一资源定位器请求的设备。根据另一实施方案,在步骤492 中,从服务器110输出该一个或多个导出的用户界面元素并在客户设备上显示相应的用户 界面。图5是简单示意图,其显示了根据本发明的实施方案通过皮肤名称载入皮肤和确 定皮肤可用性的方法。该示意图仅是为了举例的目的,并不倾向于限制权利要求书的范围。 本领域的普通技术人员应该理解存在许多变体,替换和改进。该方法500包括根据皮肤名 称从高速缓冲储存器载入皮肤的步骤510,确定高速缓冲储存器中的该皮肤的可用性的步 骤520,从皮肤数据库中载入该皮肤的步骤530,检测所述皮肤名称的有效性的步骤540, 确定皮肤数据库中的该皮肤的可用性的步骤550,在高速缓冲储存器中储存该皮肤的步骤 560,根据所述皮肤名称从高速缓冲储存器中载入该皮肤的步骤570。例如,该方法500是步 骤440和步骤450的组合。尽管上文显示了所述方法500的所选步骤,但存在许多替换、改进和变体。例如, 步骤510和步骤520被组合。又例如,步骤530、540和550被组合。根据所述实施方案,步 骤的顺序可互换。例如,该方法中一些或所有步骤由编码指导的计算机或处理器管理。又例如,该方法中的一些或所有步骤根据计算机程序产品中的包括或存储在计算机可读介质中的指令运行。再例如,方法500自动运行。在例如,该方法500通过皮肤引擎118运行。 在本说明书中对这些步骤有详细描述。在步骤510中,基于皮肤名称从高速缓冲储存器尝试载入皮肤。在步骤520中,确 定高速缓冲储存器中的该皮肤的可用性。如果该皮肤被确定为在高速缓冲储存器中可用, 则皮肤引擎118载入该皮肤,同时,例如还运行步骤470。如果该皮肤被确定为在高速缓冲 储存器中不可用,则皮肤引擎118不载入皮肤,且相应地运行步骤530。在一实施方案中,在 步骤430中,皮肤引擎118从用户界面引擎116载入所述皮肤名称。在另一实施方案中,该 高速缓冲储存器是模板管理器模块330的一部分。在又一实施方案中,该皮肤与文件夹相 对应,该文件夹的名称与所述皮肤名称相同或相匹配。例如,该文件夹包括一个或多个层叠 式样式表文件、一个或多个图像和/或图标、和一个或多个动态html模板。在步骤530中,基于所述皮肤名称从皮肤数据库尝试载入所述皮肤。在步骤540 中,检测所述皮肤名称的有效性。在步骤550中,确定皮肤数据库中的该皮肤的可用性。在 一实施方案中,通过作为皮肤引擎118的一部分的所述模板管理器模块330基于所述皮肤 名称尝试载入该皮肤。在另一实施方案中,通过还是皮肤引擎118的一部分的所述有效性 检测模块检测所述皮肤名称的有效性。例如,通过将所述皮肤名称与皮肤名称的有效列表进行比较来检测所述皮肤名称 的有效性。又例如,皮肤数据库为皮肤数据库210。根据一实施方案,如果所述皮肤名称被 确定为无效,则在步骤550中确定该皮肤不可用。根据另一实施方案,如果所述皮肤名称被 确定为有效,则在步骤550中确定该皮肤,例如可用。如果在步骤550中所述皮肤确定为不可用,则运行步骤460。如果在步骤550中该 皮肤确定为可用,则运行步骤560和步骤570。在步骤560中,从所述皮肤数据库,如皮肤数 据库210找出该皮肤,同时,将该皮肤储存到高速缓冲储存器中。例如,通过作为皮肤引擎 118的一部分的所述模板管理器模块330运行步骤560。又例如,高速缓冲储存器是模板管 理器模块330的一部分。在步骤570中,皮肤引擎118基于所述皮肤名称从高速缓冲储存器载入所述皮肤。 例如,该皮肤与文件夹相对应,该文件夹的名称与所述皮肤名称相同或相匹配。在一实施方 案中,该文件夹包括一个或多个层叠式样式表文件、一个或多个图像和/或图标、和一个或 多个动态html模板。在另一实施方案中,在步骤570之后,运行步骤470,用于调用一个或 多个用户界面模板,如一个或多个动态html模板。如前文所述和在此所强调的那样,根据实施方案,所述方法400由服务器110运 行。根据本发明的另一实施方案,该方法500由皮肤引擎118运行。例如,步骤430、460和 490至少部分由输入/输出(I/O)接口模块310运行,步骤470和480由装饰模块340运 行。又例如,步骤510、520、530、550、560和570由模板管理器模块330运行,和步骤540由 有效性检测模块320运行。图6是简单示意图,显示了根据本发明的实施方案生成和储存能用于所述方法 400的皮肤的方法。该示意图仅是为了举例的目的,并不倾向于限制权利要求书的范围。本 领域的普通技术人员应该理解存在许多变体,替换和改进。该方法600包括生成皮肤的步 骤610和储存皮肤的步骤620。步骤610包括生成一个或多个图像和/或图标的步骤612,生成一张或多张样式表的步骤614,生成一个或多个动态html模板的步骤616,提供皮肤名 称的步骤618。尽管上文显示了所述方法的所选步骤,但存在许多替换、改进和变体。例如, 一些步骤可以被扩展或组合。其它步骤可以加入到上述步骤。根据所述实施方案,步骤的 顺序可互换。在本说明书中对这些步骤有详细描述。在步骤610中,运行步骤612、614、616和618生成皮肤。在步骤612中,生成一个 或多个图像和/或图标。在步骤614中,生成一张或多张式表。例如,以一个或多个层叠式样式表文件的形式分别生成一张或多张样式表。在步骤616中,生成一个或多个动态html模板。在一实施方案中,通过 FreeMarker,一种能够生成文本和/或html输出的模板引擎生成该一个或多个html模板。 在另一实施方案中,该一个或多个动态html模板包括一个或多个页面资源模板、一个或多 个页顶模板、一个或多个字段部分模板、一个或多个字段框模板、一个或多个列表部分模 板、一个或多个按钮部分模板、一个或多个按钮框模板、和/或一个或多个页脚模板。在另 一实施方案中,不同类型的html模板各自有不同的作用。例如,页面资源模板可为当前页 面导入层叠式样式表文件和JavaScript文件。又例如,字段模板可用于装饰字段元素,例 如,通过在字段元素前和/或后加入html元素装饰。在步骤618中,提供皮肤名称。在步骤620中,以文件夹的形式储存皮肤,该文件 夹的名称与在步骤618中生成的所述皮肤名称相同或相匹配。例如,该文件夹包括在步骤 612中生成的一个或多个图像和/或图标,在步骤614中生成的一个或多个层叠式样式表 文件,在步骤616中生成的一个或多个动态html模板。又例如,将该皮肤存储皮肤数据库 210 中。如前文所述和在此所强调的那样,图6仅是一个例子,并不倾向于限制权利要求 书的范围。本领域的普通技术人员应该理解存在许多变体,替换和改进。在一实施方案中,所述方法600的一些或所有步骤通过至少由编码指导的计算机 或处理器运行。在另一实施方案中,该方法600的一些或所有步骤根据计算机程序产品中 的至少包括或存储在计算机可读介质中的指令运行。在另一实施方案中,该方法600的至 少一些步骤自动运行。在另一实施方案中,该方法600的至少一些步骤由系统100运行。例 如,如图1和图6所示,该方法600由服务器110和用户界面(UI)设计者160运行。图7是简单示意图,其显示了根据本发明的实施方案由所述方法600生成的皮肤 的组件。该示意图仅是为了举例的目的,并不倾向于限制权利要求书的范围。本领域的普 通技术人员应该理解存在许多变体,替换和改进。所述皮肤根据皮肤名称来识别,且包括一张或多张样式表、一个或多个图像和/ 或图标、和一个或多个动态html模板。例如,该一张或多张样式表分别描述在一个或多个 层叠式样式表文件中。又例如,该一个或多个层叠式样式表文件储存在文件夹中,该文件夹 还包括一个或多个图像和/或图标和一个或多个动态html模板。该文件夹的名称与所述 皮肤名称相同和/或匹相配。如图7所示,所述一个或多个动态html模板可以是一种或多种形式的。例如,该一 种或多种动态html模板包括页面资源模板、页顶模板、页脚模板、主体模板、字段行模板、 字段框模板和/或按钮框模板。在一实施方案中,主体模板可以是字段部分模板、图表部分 模板、按钮部分模板和列表部分模板。
在另一实施方案中,页顶模板定义用户界面页面的顶部区域的显示。在另一实施 方案中,页脚模板定义用户界面页面的页脚区域的显示。在另一实施方案中,主体模板定义 主体部分的边界的显示。在另一实施方案中,字段行模板或字段框模板定义字段的边界的 显示。在另一实施方案中,页面资源模板定义会被导入给用户界面页面的JavaScript和普 通样式表(CSS)。如前文所述和在此所强调的那样,图7仅是一个例子,并不倾向于限制权利要求 书的范围。本领域的普通技术人员应该理解存在许多变体,替换和改进。例如,所述一种或 多种形式的动态html模板包括页面主体模板。在一实施方案中,页面主体模板定义用户界 面页面的主体区域和标题区域的显示。图8和图9是简单示意图,其显示了根据本发明的实施方案某些用户界面控件与 作为所述方法600所生成的皮肤的一部分的某些动态html模板之间的配对。该示意图仅 是为了举例的目的,并不倾向于限制权利要求书的范围。本领域的普通技术人员应该理解 存在许多变体,替换和改进。如图8所示,用户界面例如至少包括页面资源控件、页顶控件、字段部分控件、字 段框控件、列表部分控件、按钮部分控件、按钮框控件和页脚控件。如图9所示,这些控件分 别与页面资源模板、页顶模板、页面部分模板、页面框模板、列表部分模板、按钮部分模板、 按钮框模板、页脚模板相对应。图10、11和12是简单示意图,其显示了根据本发明的某些实施方案通过方法400 输出的用户界面(UI)元素。该示意图仅是为了举例的目的,并不倾向于限制权利要求书的 范围。本领域的普通技术人员应该理解存在许多变体,替换和改进。具体地,图10、11和12显示了具有相同组导入的用户界面元素的不同组所述方法 400输出的用户界面元素。如图10所示,导入的用户界面元素没有用任何皮肤装饰,这些元 素在步骤460中被导出并在步骤492中被输出。如图11所示,在步骤480中,所述导入的用户界面元素被一组被调用的用户界面 模板装饰,在步骤490中被导出,在步骤492中被输出。如图12所示,在步骤480中,导入 的用户界面元素被另一组被调用的用户界面模板装饰,在步骤490中被导出,在步骤492中 被输出。图13是简单示意图,显示了根据本发明的实施方案在一个或多个远程设备中显 示一个或多个用户界面的方法400的示例性应用。该示意图仅是为了举例的目的,并不倾 向于限制权利要求书的范围。本领域的普通技术人员应该理解存在许多变体,替换和改进。所述方法400包括接收URL请求的步骤410,调用包含字段标签的用户界面脚本的步骤420,导入皮肤名称和包括一个或多个字段元素的一个或多个用户界面元素的步骤 430,和通过该皮肤名称载入皮肤的步骤440。该皮肤包括一个或多个字段框模板。另外,该 方法400包括确定该皮肤的可用性的步骤450。例如,基于所述皮肤名称确定该皮肤的可用 性。此外,该方法400还包括调用包含所述一个或多个字段框模板的一个或多个用户界面 模板的步骤470,和装饰包含所述一个或多个字段元素的所述一个或多个用户界面元素的 步骤480。例如,步骤480包括装饰所述一个或多个字段元素,该字段元素具有在字段标签 前的html,在字段标签后的html,在字段输入前的html和/或在字段输入后的html。另外,所述方法400包括返回和导出所述一个或多个具有皮肤的用户界面元素的步骤490。例如,该一个或多个导出的用户界面元素包含所述装饰的一个或多个字段元素。此外,该方法400包括输出所述一个或多个用户界面元素的步骤492。例如,该输出的一个 或多个用户界面元素包含所述装饰的一个或多个字段元素。尽管上文显示了所述方法400的所选步骤,但存在许多替换、改进和变体。例如, 步骤440和450被组合。其它的步骤可以嵌入以上步骤。根据实施方案,步骤的顺序可以互 换。例如,该方法400 —些或所有步骤由编码指导的计算机或处理器管理。又例如,该方法 400的一些或所有步骤根据计算机程序产品中的包括或存储在计算机可读介质中的指令运 行。再例如,方法400自动运行。在例如,方法400通过系统100运行。在本说明书中对这 些步骤有详细描述。图14-21是简单示意图,显示了根据本发明的实施方案能用于所述方法600所生 成的皮肤的各种动态html模板的计算机编码。该示意图仅是为了举例的目的,并不倾向于 限制权利要求书的范围。本领域的普通技术人员应该理解存在许多变体,替换和改进。例如,图14显示了页面资源模块的计算机编码。图15显示了页顶模板的计算机 编码。图16显示了页脚模板的计算机编码。图17显示了字段框模板的计算机编码。图18 显示了字段部分模板的计算机编码。图19显示了列表部分模板的计算机编码。图20显示 了按钮部分模板的计算机编码。再例如,图21显示了按钮框模板的计算机编码。本发明的某些实施方案提供了创建皮肤引擎的系统和/或方法,该皮肤引擎可以 使用户能够为网络应用软件创建需要的外观和氛围。例如,在运行阶段,皮肤引擎根据所给 的皮肤名称找出皮肤,并且如果发现此皮肤就装饰导入的用户元素。根据一实施实施方案,在远程设备中显示用户界面的方法包括通过计算机服务器 从远程设备中接收第一信号。该第一信号与统一资源定位器(URL)请求信息相关联。该计 算机服务器至少包括用户界面引擎和皮肤引擎。另外,该方法还包括通过所述用户界面引 擎执行用户界面脚本;基于至少与该用户界面脚本相关的信息从所述用户界面引擎导入至 少皮肤名称和一个或多个用户界面元素到所述皮肤引擎中;和基于至少与该皮肤名称有关 的信息通过所述皮肤引擎确定皮肤的可用性。该皮肤与具有文件夹名称的皮肤文件夹相对 应,并且该文件夹名称与所述皮肤名称相对应。该文件夹包含一个或多个动态HTML模板。 此外,如果该皮肤被确定为可用,则该方法还包括基于至少与所述的一个或多个动态HTML 模板相关的信息通过所述皮肤引擎装饰所述一个或多个用户界面元素,和从计算机服务器 向所述远程设备发送第二信号。该第二信号与所述的一个或多个装饰的用户界面元素相关 联,以在该远程设备上显示第一用户界面。例如,该方法根据方法400和/或方法500执行。在另一例子中,所述皮肤文件夹还包括一个或多个样式表文件和一个或多个图像 和/或图标。在又一例子中,远程设备是计算机、移动电话或个人数字助理设备。在又一例 子中,通过计算机服务器从远程设备接收第一信号的步骤包括至少通过因特网接收第一信 号。在又一例子中,通过计算机服务器从远程设备接收第一信号的步骤包括至少通过无线 电网络接收第一信号。在又一例子中,所述方法还包括如果所述皮肤被确定为可用,则通 过所述皮肤引擎调用所述一个或多个动态html模板。在又一例子中,该方法还包括如果 所述皮肤被确定为可用,则从所述皮肤引擎中导出至少所述一个或多个装饰的用户界面元 素到所述用户界面引擎中。在又一例子中,该方法还包括如果所述皮肤被确定为不可用, 则从所述皮肤引擎导出所述一个或多个不具有皮肤的用户界面元素到所述用户界面引擎中,该一个或多个导出的用户界面元素分别与所述一个或多个导入的用户界面元素相同,并从计算机服务器发出第三信号到远程设备中,该第三信号与所述一个或多个不具有皮肤 的用户界面元素相关联,以在远程设备中显示第二用户界面。在又一例子中,该方法还包 括基于至少与所述皮肤名称相关联的信息通过所述皮肤引擎尝试载入皮肤。在又一例子中,通过皮肤引擎尝试载入皮肤的步骤和通过皮肤引擎确定皮肤的可 用性的步骤的组合包括基于至少与所述皮肤名称相关的信息从高速缓冲储存器尝试载入 该皮肤,和确定高速储存器中的该皮肤的可用性。此外,通过皮肤引擎尝试载入皮肤的步骤 和通过皮肤引擎确定皮肤的可用性的步骤的组合还包括如果该皮肤被确定为在高速储存 器中不可用,则基于至少与所述皮肤名称相关的信息从皮肤数据库尝试载入该皮肤,检测 所述皮肤名称的有效性,确定皮肤数据库中的该皮肤的可用性,和如果该皮肤被确定为在 皮肤数据库中可用,则从该皮肤数据库中找出该皮肤,并储存到高速缓冲储存器中。在又一例子中,所述方法还包括如果所述皮肤被确定为在高速缓冲储存器中可 用,则基于至少与所述一个或多个动态html模板相关的信息通过皮肤引擎装饰所述一个 或多个用户界面元素。在又一例子中,该方法还包括如果所述皮肤被确定为在皮肤数据库 中可用,则基于至少与所述一个或多个动态html模板相关的信息通过皮肤引擎装饰所述 一个或多个用户界面元素。在又一例子中,该方法还包括如果所述皮肤被确定为在皮肤数 据库中不可用,则从皮肤引擎中导出所述一个或多个不具有皮肤的用户界面元素到用户界 面引擎中,该一个或多个导出的用户界面元素分别与所述一个或多个导入的用户界面元素 相同,和从计算机服务器发送第三信号到远程设备中,该第三信号与所述一个或多个不具 有皮肤的用户界面元素相关联,以在远程设备中显示第二用户界面。在又一例子中,所述一 个或多个动态html模板包括至少一个动态html模板,该至少一个动态html模板选自页面 资源模板、页顶模板、页脚模板、页面主体模板、主体模板、字段行模板、字段框模板和按钮 框模板。在又一例子中,主体模板包括字段部分模板、图表部分模板、按钮部分模板和列表 部分模板。根据另一实施方案,在远程设备中显示用户界面的计算机服务器包括用户界面引 擎、皮肤引擎和与皮肤引擎相关的皮肤数据库。用户界面引擎被配置为从远程设备接收与 统一资源定位器请求相关的第一信号,并且运行用户界面脚本。皮肤引擎被配置为基于至 少与用户界面脚本相关的信息从用户界面引擎导入至少皮肤名称和一个或多个的用户界 面元素,和基于至少与皮肤名称相关的信息确定皮肤的可用性。皮肤与具有文件夹名称的 皮肤文件夹相对应,且文件夹名称与皮肤名称相对应。皮肤文件夹包含一个或多个动态 HTML模板。此外,如果皮肤被确定为可用,则皮肤引擎被进一步配置成基于至少与所述一个 或多个动态HTML模板相关的信息装饰一个或多个用户界面元素。另外,如果此皮肤被确定 为可用,则用户界面引擎被进一步配置成发送与所述一个或多个装饰的用户界面元素相关 的第二信号,以在远程设备中显示第一用户界面。例如,如图1、2和3所示,计算机服务器 根据服务器110执行。在又一例子中,所述皮肤引擎包括输入/输出接口模块、至少与该输入/输出接口 模块相关联的有效性检测模块、至少与该输入/输出接口模块相关联的装饰模块、和至少 与该有效性检测模块和该装饰模块相关联的模板管理器模块。在又一例子中,皮肤文件夹 还包括一个或多个样式表文件和一个或多个图像和/或图标。在又一例子中,如果皮肤被确定为可用,则皮肤引擎被进一步配置为调用一个或多个动态html模板。在又一例子中, 如果皮肤被确定为可用,则皮肤引擎被进一步配置为导出至少所述一个或多个装饰的用户 界面元素到用户界面引擎中。在又一例子中,如果皮肤被确定为不可用,则用户界面元素被 进一步配置为发送与一个或多个导入的不具有皮肤的用户界面元素相关的第三个信号,以 在远程设备中显示第二用户界面。在又一例子中,所述一个或多个动态html模板包括选自 页面资源模板、页顶模板、页脚模板、页面主体模板、主体模板、字段行模板、字段框模板和 按钮框模板的至少一个动态html模板。在又一例子中,主题模板包括字段部分模板、图表 部分模板、按钮部分模板和列表部分模板。根据另一实施方案,计算机程序产品包括计算机可读介质,该计算机可读介质包 含或存储有在远程设备中显示用户界面的指令。该计算机可读介质包括或存储有从远程设 备接收与统一资源定位器请求相关的信息的一个或多个指令,运行用户界面脚本的一个或 多个指令,基于至少与该用户界面脚本相关的信息传输至少皮肤名称和一个或多个用户界 面元素的一个或多个指令,和基于至少与皮肤名称相关的信息确定皮肤的可用性的一个或 多个指令。皮肤与具有文件夹名称的皮肤文件夹相对应,皮肤文件夹名称与皮肤名称相对 应。皮肤文件夹至少包含一个或多个动态HTML模板。此外,如果皮肤被确定为可用,则计 算机可读介质包括或存储有基于至少与一个或多个动态HTML模板相关的信息装饰一个或 多个用户界面元素的一个或多个指令,和输出与所述一个或多个装饰的用户界面元素有关 的信息以在远程设备中显示用户界面的一个或多个指令。例如,根据图1、2、3、4和/或5 执行计算机程序产品。相对于常规技术,本发明可以获得许多益处。本发明的某些实施方案提供了皮肤 引擎,定义了具有皮肤名称和皮肤和皮肤文件夹。例如,皮肤文件夹包括至少一个或多个动 态HTML模板,又例如,皮肤引擎可装饰具有皮肤的导入的用户界面元素,并输出装饰的用 户界面元素。尽管描述了本发明的具体实施方案,但是本领域的普通技术人员应该理解存在与 所描述的具体实施方案等同的其它实施方案。因此,应该理解,本发明近受所附权利要求书 范围的限制,而不受所具体描述的实施方案的限制。
权利要求
在远程设备上显示用户界面的方法,该方法包括通过计算机服务器接收来自远程设备的第一信号,该第一信号与统一资源定位器请求相关联,该计算机服务器至少包括用户界面引擎和皮肤引擎;通过所述用户界面引擎执行用户界面脚本;基于至少与所述用户界面脚本相关的信息从所述用户界面引擎将至少皮肤名称和一个或多个用户界面元素导入到所述皮肤引擎;基于至少与所述皮肤名称有关的信息通过所述皮肤引擎确定皮肤的可用性,该皮肤与具有文件夹名称的皮肤文件夹相对应,该文件夹名称与所述皮肤名称相对应,该皮肤文件夹包含一个或多个动态HTML模板;如果所述皮肤被确定为可用,则基于至少与所述的一个或多个动态html模板相关的信息通过所述皮肤引擎装饰所述一个或多个用户界面元素;和从所述计算机服务器向所述远程设备发送第二信号,该第二信号与所述的一个或多个装饰的用户界面元素相关联,以在该远程设备上显示第一用户界面。
2.根据权利要求1的方法,其中所述皮肤文件夹还包括一个或多个样式表文件和一个 或多个图像和/或图标。
3.根据权利要求1的方法,其中所述远程设备是计算机、移动电话或个人数据助理设备。
4.根据权利要求1的方法,其中通过计算机服务器从远程设备接收第一信号的步骤包 括至少通过网络接收第一信号。
5.根据权利要求1的方法,其中通过计算机服务器从远程设备接收第一信号的步骤包 括至少通过无线电网络接收第一信号。
6.根据权利要求1的方法,该方法还包括如果所述皮肤被确定为可用,则通过所述皮 肤引擎调用所述一个或多个动态html模板。
7.根据权利要求1的方法,该方法还包括如果所述皮肤被确定为可用,则从所述皮肤 引擎导出至少所述一个或多个装饰的用户界面元素到用所述户界面引擎。
8.根据权利要求1的方法,该方法还包括如果所述皮肤被确定为不可用,则 从所述皮肤引擎导出所述一个或多个不具有皮肤的用户界面元素到所述用户界面引擎,该一个或多个导出的用户界面元素分别与所述一个或多个导出的用户界面元素相同; 禾口从所述计算机服务器发送第三信号到所述远程设备,该第三信号与所述一个或多个不 具有皮肤的用户界面元素相关联,以在该远程设备中显示第二用户界面。
9.根据权利要求1的方法,该方法还包括基于至少与所述皮肤名称相关的信息通过所 述皮肤引擎尝试载入所述皮肤。
10.根据权利要求9的方法,其中通过所述皮肤引擎尝试载入所述皮肤的步骤与通过 所述皮肤引擎确定皮肤的可用性的步骤的组合包括基于至少与所述皮肤名称相关的信息从高速缓冲储存器尝试载入所述皮肤; 确定所述高速缓存储存器中的所述皮肤的可用性; 如果所述皮肤被确定为在所述高速缓存储存器中不可用,则基于至少与所述皮肤名称相关的信息从皮肤数据库尝试载入所述皮肤;检测所述皮肤名称的有效性;确定所述皮肤数据库中的所述皮肤的可用性;如果所述皮肤被确定为在所述皮肤数据库中可用,则从所述皮肤数据库找出所述皮肤;和将所述皮肤储存在所述高速缓冲储存器中。
11.根据权利要求10的方法,该方法还包括如果所述皮肤被确定为在高速缓冲储存 器中可用,则基于至少与所述一个或多个动态html模板相关的信息通过所述皮肤引擎装 饰所述一个或多个用户界面元素。
12.根据权利要求10的方法,该方法还包括如果所述皮肤被确定为在所述皮肤数据 库中可用,则基于至少与所述一个或多个动态html模板相关的信息通过所述皮肤引擎装 饰一个或多个用户界面元素。
13.根据权利要求10的方法,该方法还包括如果所述皮肤被确定为在所述皮肤数据 库中不可用,则从所述皮肤引擎中导出所述一个或多个不具有皮肤的用户界面元素到所述用户界面 引擎,该一个或多个导出的用户界面元素分别与所述一个或多个导入的用户界面元素相 同;和从所述计算机服务器发送第三信号到所述远程设备中,该第三信号与所述一个或多个 不具有皮肤的用户界面元素相关联,以在该远程设备上显示第二用户界面。
14.根据权利要求1的方法,其中所述一个或多个动态html模板包括选自页面资源模 板、页顶模板、页脚模板、页面主体模板、主体模板、字段行模板、字段框模板和按钮框模板 的至少一个动态html模板。
15.根据权利要求14的方法,其中所述主体模板选自字段部分模板、图表部分模板、按 钮部分模板和列表部分模板。
16.在远程设备上显示用户界面元素的计算机服务器,该计算机服务器包括 用户界面引擎;皮肤引擎;和与所述皮肤引擎相关联的皮肤数据库; 其中,所述用户界面引擎被配置为 接收与统一资源定位器请求相关的第一信号;和 运行用户界面脚本; 其中,所述皮肤引擎被配置为基于至少与所述用户界面脚本相关的信息从所述用户界面引擎导入至少皮肤名称和 一个或多个用户界面元素;基于至少与所述皮肤名称有关的信息确定皮肤的可用性,该皮肤与具有文件夹名称的 皮肤文件夹相对应,该文件夹名称与该皮肤名称相对应,该皮肤文件夹包含一个或多个动 态HTML模板;和如果所述皮肤被确定为可用,则基于至少与所述的一个或多个动态html模板相关的 信息装饰所述一个或多个用户界面元素,其中,所述用户界面引擎被进一步配置为如果所述皮肤被确定为可用,则发送与所述 的一个或多个装饰的用户界面元素相关的第二信号,以在所述远程设备上显示第一用户界 面。
17.根据权利要求16的计算机服务器,其中所述皮肤引擎包括输入/输出接口模块;至少与所述输入/输出接口模块相关联的有效性检测模块;至少与所述输入/输出接口模块相关联的装饰模块;和至少与所述有效性检测模块和所述装饰模块相关联的模板管理器模块。
18.根据权利要求16的计算机服务器,其中所述皮肤文件夹还包含一个或多个样式表 文件和一个或多个图像和/或图标。
19.根据权利要求16的计算机服务器,其中所述皮肤引擎被进一步配置为如果所述 皮肤被确定为可用,则调用所述一个或多个动态html模板。
20.根据权利要求16的计算机服务器,其中所述皮肤引擎被进一步配置为如果所述 皮肤被确定为可用,则导出至少所述一个或多个装饰的用户界面元素到所述用户界面引擎 中。
21.根据权利要求16的计算机服务器,其中所述用户界面引擎被进一步配置为如果 所述皮肤被确定为不可用,则发送与所述一个或多个导入的不具有皮肤的用户界面元素相 关的第三信号,以在所述远程设备上显示第二用户界面。
22.根据权利要求16的计算机服务器,其中所述一个或多个动态html模板包括选自页 面资源模板、页顶模板、页脚模板、页面主体模板、主体模板、字段行模板、字段框模板和按 钮框模板的至少一个动态html模板。
23.根据权利要求22的计算机服务器,其中所述主体模板选自字段部分模板、图表部 分模板、按钮部分模板和列表部分模板。
24.计算机程序产品,其包括计算机可读介质,该计算机可读介质包含在远程设备上显 示用户界面的指令,该计算机可读介质包含从远程设备接收与统一资源定位器请求相关的信息的一个或多个指令;运行用户脚本的一个或多个指令;基于至少与该用户界面脚本相关的信息传输至少皮肤名称和一个或多个用户界面元 素的一个或多个指令基于至少与皮肤名称相关的信息确定皮肤的可用性的一个或多个指令,该皮肤与具有 文件夹名称的皮肤文件夹相对应,该文件夹名称与所述皮肤名称相对应,该皮肤文件夹至 少包含一个或多个动态HTML模板;和如果所述皮肤被确定为可用,基于至少与所述一个或多个动态HTML模板相关的信息装饰所述一个或多个用户界面 元素的一个或多个指令;和输出与所述一个或多个装饰的用户界面元素有关的信息以在所述远程设备上显示用 户界面的一个或多个指令。
全文摘要
本发明提供了在远程设备上通过软件皮肤显示用户界面的方法。该方法包括通过计算机服务器接收来自远程设备的第一信号。该第一信号与统一资源定位器请求相关联。该计算机服务器至少包括用户界面引擎和皮肤引擎。另外,该方法还包括通过用户界面引擎执行用户界面脚本;基于至少与用户界面脚本相关的信息从用户界面引擎将至少皮肤名称和一个或多个用户界面元素导入到皮肤引擎中;和基于至少与皮肤名称有关的信息通过皮肤引擎确定皮肤的可用性。皮肤与具有文件夹名称的皮肤文件夹相对应,并且该文件夹名称与该皮肤名称相对应。文件夹包含一个或多个动态HTML模板。
文档编号H04L29/06GK101814021SQ200910007290
公开日2010年8月25日 申请日期2009年2月24日 优先权日2009年2月24日
发明者姚捷 申请人:易保网络技术(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1