CN101512483B - 动态生成定制用户界面 - Google Patents

动态生成定制用户界面 Download PDF

Info

Publication number
CN101512483B
CN101512483B CN2007800320972A CN200780032097A CN101512483B CN 101512483 B CN101512483 B CN 101512483B CN 2007800320972 A CN2007800320972 A CN 2007800320972A CN 200780032097 A CN200780032097 A CN 200780032097A CN 101512483 B CN101512483 B CN 101512483B
Authority
CN
China
Prior art keywords
pattern
webpage
style sheet
user
variable
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.)
Expired - Fee Related
Application number
CN2007800320972A
Other languages
English (en)
Other versions
CN101512483A (zh
Inventor
露丝·姚
贾里德·M·雅各布斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN101512483A publication Critical patent/CN101512483A/zh
Application granted granted Critical
Publication of CN101512483B publication Critical patent/CN101512483B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/134Hyperlinking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种呈现在线应用的计算机实现的方法,包括:在第一时间接收和呈现具有第一样式的在线应用的第一网页;并且在第二时间接收和呈现具有不同于第一样式的第二样式的在线应用的第二网页。在一些实施例中,第一样式和第二样式依据于用户选择的变量,并且用户选择的变量在第一和第二时间分别具有第一和第二不同值。在一些实施例中,用户选择的变量独立于网页的内容。在一些实施例中,根据用户简档确定第一和第二不同值。在一些实施例中,首先使用第一样式显示第一网页,然后使用第二样式再次显示第一网页,而不改变第一网页的内容。

Description

动态生成定制用户界面
技术领域
所公开的实施例一般涉及定制计算机应用的图形用户界面。具体地,所述实施例涉及定制在线应用的用户界面。
背景技术
计算机用户通常能够定制计算机应用的图形用户界面。此外,许多在线应用,诸如基于web的电子邮件应用,允许用户用不同的颜色、字体、背景图像、线宽等来定制其界面或在线应用的外观。这些定制外观有时被称为皮肤。例如,对于某些在线应用,用户可以从不同颜色的菜单中选择一种颜色以应用到他们的在线应用的外观上。每次用户登录进入该应用或网站,该网站的皮肤就以他们已选择的颜色出现。随着该在线应用上的内容被改变或更新,所定制的外观保持相同。
发明内容
一种呈现在线应用的计算机实现的方法,包括:在第一时间接收和呈现具有第一样式的在线应用的第一网页;并且在第二时间接收和呈现具有不同于第一样式的第二样式的在线应用的第二网页。在一些实施例中,第一样式和第二样式依据于用户选择的变量,并且用户选择的变量在第一和第二时间分别具有第一和第二不同值。在一些实施例中,根据用户简档自动确定第一和第二不同值。
一种呈现在线应用的计算机实现的方法,所述方法在第一客户端设备处和在第二客户端设备处被执行。第一客户端设备:在第一时间接收和呈现具有第一样式的在线应用的第一网页;并且在第二时间接收和呈现具有不同于第一样式的第二样式的在线应用的第二网页。第一样式和第二样式根据用户选择的变量而被确定,并且第一用户选择的变量在第一和第二时间分别具有第一和第二不同值。第二客户端设备:在第三时间接收和呈现具有第三样式的在线应用的第三网页;并且在第四时间接收和呈现具有不同于第三样式的第四样式的在线应用的第四网页。第三样式和第四样式依据于由不同于第一用户的第二用户选择的变量,并且第二用户选择的变量不同于第一用户选择的变量。第二用户选择的变量在第三和第四时间分别具有第三和第四不同值。
一种用于呈现在线应用的系统,包括:存储器,一个或多个处理器,以及存储在存储器中并被配置为由所述一个或多个处理器执行的一个或多个模块。所述模块包括指令,用于:在第一时间接收和呈现具有第一样式的在线应用的第一网页;以及在第二时间接收和呈现具有不同于第一样式的第二样式的在线应用的第二网页。第一样式和第二样式依据于用户选择的变量,并且用户选择的变量在第一和第二时间分别具有第一和第二不同值。
一种与计算机系统结合使用的计算机程序产品,所述计算机程序产品包括计算机可读存储介质以及嵌入其中的计算机程序机制。所述计算机程序机制包括指令,用于:在第一时间接收和呈现具有第一样式的在线应用的第一网页;以及在第二时间接收和呈现具有不同于第一样式的第二样式的在线应用的第二网页。第一样式和第二样式依据于用户选择的变量,并且用户选择的变量在第一和第二时间分别具有第一和第二不同值。
一种呈现在线应用的计算机实现的方法,包括:在第一时间向客户端发送具有第一样式的在线应用的第一网页;以及在第二时间向客户端发送具有不同于第一样式的第二样式的在线应用的第二网页。在一些实施例中,第一样式和第二样式依据于用户选择的变量,并且用户选择的变量在第一和第二时间分别具有第一和第二不同值。在一些实施例中,根据客户端设备的用户的用户简档自动确定第一和第二不同值。
一种呈现在线应用的计算机实现的方法,包括:在第一时间向第一客户端设备发送具有第一样式的在线应用的第一网页;以及在第二时间向第一客户端设备发送具有不同于第一样式的第二样式的在线应用的第二网页。第一样式和第二样式依据于第一用户选择的变量,并且第一用户选择的变量在第一和第二时间分别具有第一和第二不同值。该方法进一步包括:在第三时间向第二客户端发送具有第三样式的在线应用的第三网页;以及在第四时间向第二客户端发送具有不同于第三样式的第四样式的在线应用的第四网页。第三样式和第四样式依据于第二用户选择的变量。第二用户不同于第一用户并且第二用户选择的变量不同于第一用户选择的变量。第二用户选择的变量在第三和第四时间分别具有第三和第四不同值。
一种用于呈现在线应用的系统(例如,应用服务器),包括:存储器,一个或多个处理器,以及存储在存储器中并被配置为由所述一个或多个处理器执行的一个或多个模块。所述模块包括指令,用于:在第一时间向客户端发送具有第一样式的在线应用的第一网页;以及在第二时间向客户端发送具有不同于第一样式的第二样式的在线应用的第二网页。第一样式和第二样式依据于用户选择的变量,并且用户选择的变量在第一和第二时间分别具有第一和第二不同值。
一种与计算机系统结合使用的计算机程序产品,所述计算机程序产品包括计算机可读存储介质以及嵌入其中的计算机程序机制。所述计算机程序机制包括指令,用于:在第一时间向客户端发送具有第一样式的在线应用的第一网页;以及在第二时间向客户端发送具有不同于第一样式的第二样式的在线应用的第二网页。第一样式和第二样式依据于用户选择的变量,并且用户选择的变量在第一和第二时间分别具有第一和第二不同值。
附图说明
图1是图示了用于动态生成网页的样式表的分布式系统的图。
图2A是图示了根据本发明的一些实施例的用于动态生成网页的样式表的过程的流程图。
图2B是图示了根据本发明的一些实施例的用于动态生成网页的样式表的过程的流程图。
图3A图示了网页,该网页带有函数定义以及用于对应用到该网页的一组样式表循环的函数调用。
图3B图示了网页,包括用于将一个循环组的样式表应用到该网页的JavaScript指令。
图3C图示了用于动态改变应用到网页的样式表的示例JavaScript源代码。
图3D图示了示例源代码,所述示例源代码使用层叠式样式表(CSS)导入操作来改变应用到网页的从属的或差异的样式表。
图3E是JavaScript函数的示例源代码,该函数使用基于文档对象模型(DOM)的方法向网页添加新的样式表。
图4是图示根据本发明的一些实施例的示例客户端的框图。
图5是图示根据本发明的一些实施例的示例信息服务器的框图。
在所有附图中,相同的引用标记是指相应的部分。
具体实施方式
图1是图示用于动态生成带有动态生成的或动态选择的样式表(有时称为“皮肤”)的网页的分布式系统的图。一个或多个计算机或设备(以下称为“客户端”或“客户端设备”)102可以连接到通信网络104。客户端102可以是多个设备中的任意一个(例如,计算机、因特网信息站、个人电子助理、蜂窝电话、台式计算机、或膝上计算机)并且可以包括一个或多个客户端应用106。客户端应用106可以允许用户查看网页108或其它文档或信息。客户端应用106可以是允许用户与客户端102和/或网络资源交互以执行一个或多个任务的软件应用。例如,客户端应用106可以是web浏览器(例如,Firefox、InternetExplorer或Safari)或允许用户搜索、浏览和/或使用诸如客户端102和/或经由通信网络104可访问的一个或多个网页的资源的其它类型的应用。客户端应用106还可以包括电子邮件应用(例如,Outlook,LotusNotes,Entourage,或Eudora)。
通信网络104可以是任何局域网(LAN)和/或广域网(WAN),诸如内联网、外联网、因特网或这样的网络的组合。通信网络104足够在客户端202和服务器110之间提供通信能力。在一些实施例中,通信网络104使用超文本传输协议(HTTP)来用传输控制协议/网际协议(TCP/IP)传输信息。HTTP允许客户端计算机访问经由通信网络104可获得的各种资源。然而,本发明的各种实施例并不受限于任何特定的协议的使用。整个本说明书中使用的术语“资源”指经由统一资源定位器(URL)可访问的任何信息片段或服务,并且可以是例如网页、文本或字处理文档、电子邮件消息、录制的语音消息、数据库、图像或计算对象。
通信网络104可以连接到信息服务器110。服务器110可以包括HTTP接口112、一个或多个在线应用114以及动态样式表生成器118。
HTTP接口112帮助通信网络104和在线应用114之间的通信。在线应用114可以被配置来发送和接收内容118。在线应用114可以是webmail应用或被用来显示各种内容118的其它类型的个性化在线应用。
动态样式表生成器116可以包括或连接到以下各项:包括一个或多个主样式表122和一个或多个差别样式表124的样式表库120;一个或多个用户简档128,一个或多个事件变量130;以及图像数据库132。动态样式表生成器116根据一个或多个用户选择的变量生成动态样式表,所述一个或多个用户选择的变量可以被存储在用户简档128中。替选地,动态样式表生成器116根据一个或多个用户选择的变量从存储在库120中的一组先前生成的动态样式表中选择动态样式表。可选地,可以根据用户选择的变量将主样式表124与一个或多个差别样式表124相组合以产生组合的样式表126。然而,在一些实施例中,服务器110产生的相应网页引用主样式表和差别样式表两者,并且因而在这些实施例中动态样式表生成器116不需要生成组合的样式表。各种样式表独立于所发送和接收到的网页内容118。
在一些实施例中,用户选择的变量确定将需要何种类型的事件变量130。事件变量130可以随着事件改变或随着事件发生而被更新。例如,如果用户将(在特定的位置,例如,在特定的城市或在特定的邮政编码区域的)“天气”选择为用于他们的皮肤的变量,则事件变量130可以是温度、降雨量或湿度水平。在预定的时间,可以相应地以正确且当前的信息更新一个或多个事件变量130,以产生适当的皮肤。在一些实施例中,为可被包括在网页中的(在图像数据库中的)图像,动态样式表生成器116可以访问URL的列表。
图2A是图示根据本发明的一些实施例用于动态生成网页样式或皮肤的过程200的流程图。客户端的用户可以选择变量202以便定制网页的用户界面。用户选择的变量可以包括但是不限于:日期、时间、天气、温度、季节、节日以及股票市场活动。服务器接着接收并存储第一选择的变量204。在一些实施例中,该变量可以被存储在用户简档128(如图1所示)。在一些实施例中,用户选择的变量独立于所显示的网页的内容,并且因而该变量的值以及由此得到的样式表也独立于所显示的网页的内容。
在变量被选择后(202),客户端的用户可以进而向服务器发送第一请求206。在一些实施例中,初始请求可以是搜索查询、对新的网页的请求或某种类型的信息请求。服务器接着确定用户选择的变量的当前第一值208并且基于用户选择的变量的第一值生成(或选择)第一样式(有时在此称为第一动态样式)210。服务器向客户端发送带有第一样式的第一网页212。客户端接着接收并呈现带有第一样式的第一网页214。
用户可以接着发送第二请求216。在一些实施例中,该请求可以是搜索查询、对新的网页的请求或某种类型的信息请求。此外,在一些实施例中,该请求可以是刷新第一网页的外观的请求。该刷新请求可以无需任何用户动作而被自动发送,或者其可以响应于明确的用户动作而被发送。服务器接着确定用户选择的变量的第二值218并基于用户选择的变量的第二值动态地生成或选择第二样式220。具有第二样式的第二网页接着被发送到客户端222。客户端因此可以接收和呈现带有第二样式的网页224。
在一些实施例中,当请求216是对新的或更新的样式表的请求或替选地是刷新请求时,操作222被用于向请求客户端发送所生成的或选择的样式表的操作所取代,而不发送新的或更新的网页,并且操作224被替代为:采用最新接收的样式表来重新显示先前下载的网页。作为结果,在该客户端处网页的外观将改变,而网页的内容不变。如果用户继续观看同一网页足够长的时间,操作216至224可以被重复多次,而网页的外观多次改变。如前所述,由该过程所生成或选择的样式或样式表通常独立于网页内容。
例如,在一些实施例中,用户可以选择天气作为给定网页的变量。当用户发送呈现该网页的请求时,服务器必须获取有关在该用户的位置的天气为何的信息。如果正在下雨,服务器可以使用动态样式表生成器116(图1)来生成带有显示雨的图画的网页。在一些实施例中,可以执行刷新操作以获取当前信息来更新所显示的网页。在一些实施例中,可以由用户手动生成由客户端进行的刷新,或者该刷新可以由浏览器或客户端所执行的网页中的代码生成。
在一些实施例中,刷新请求可以不同于将整个网页重新载入。刷新请求可以是对新的信息的请求,所述新的信息可以包括内容信息、样式信息或另一类型的信息。在一些实施例中,可以不刷新网页的内容而刷新网页的样式。例如,如果没有新的内容,但是用户选择的变量的值已经改变,可以不更新内容而更新样式。如图1所示,并如上所述,各种样式表独立于内容118。
在一些实施例中,如果在服务器和客户端之间存在持久的连接,服务器可以甚至在没有来自客户端的请求的情况下向客户端发送样式表和/或内容更新。
图2B是图示根据本发明的一些实施例用于动态生成或选择网页样式或皮肤的过程250的流程图。该流程图图示了在信息服务器或应用服务器向多于一个客户端发送带有动态确定的样式的网页时所使用的过程。客户端可以同时地或者在重叠的时间段期间访问服务器,以获取带有动态确定的样式的网页和/或更新先前从服务器下载的网页的样式。客户端A的用户(用户A)选择第一变量252,所述第一变量由服务器接收并存储254。在一些实施例中,服务器将变量存储在用户A的简档128(如图1中所示)中。在该变量已被用户选择并由服务器存储后的某个时刻,客户端A的用户向服务器发送第一请求。该请求可以是搜索查询、对新的网页的请求或另一种类型的信息请求。服务器接着基于第一变量的第一值(例如当前值)动态地生成或选择第一样式258并向客户端A发送具有第一样式的第一网页250。可以基于第一值(例如通过动态地创建样式表文件)或者通过选择一组预定义或先前生成的样式表文件中的一个来动态地生成第一样式(以及下述的其它样式)。客户端A接收并呈现具有第一样式的第一网页262。
在后面的时刻,客户端A的用户向服务器发送第二请求264。如上所述,在一些实施例中,第二请求可以是搜索查询、对新的网页的请求或另一种类型的信息请求。在其它实施例中,该请求可以是刷新第一网页的外观的请求,所述请求可以是用户发起的或自动的。服务器接着基于第一变量的第二值(例如,新的当前值)动态地生成或选择第二样式266,并且向客户端A发送具有第二样式的第二网页268。客户端A接收并呈现具有第二样式的第二网页270。在一些实施例中,替代请求第二网页,客户端(例如,客户端A)请求并接收新的样式表,所述样式表应用到该网页而不下载或刷新网页内容。
类似地,客户端B的用户(用户B)选择变量272。客户端B的用户选择的变量由服务器接收并存储274。在一些实施例中,该变量可以被存储在用户B的简档中,用户B的简档与用户A(如上)的简档分开且不同。在后面的时刻,用户B向服务器发送请求276。在一些实施例中,该请求可以是搜索查询、对新的网页的请求或另一种类型的信息请求。响应于该请求,服务器基于第二变量的当前值(在此称为“第三值”)动态地生成或选择第三动态样式278。第二变量的当前值在此被称为“第三值”,以将其区别于前述第一变量的第一和第二值。服务器向客户端B发送具有第三样式的第三网页280。客户端B接收并呈现具有第三样式的第三网页282。
在更后面的时刻,用户B发送了另一个请求284。在一些实施例中,该请求可以是搜索查询、对新的网页的请求或另一种类型的信息请求。在其它实施例中,该请求可以是刷新第三网页的外观的请求,所述请求可以是用户发起的或自动的。响应于该请求(284),服务器基于第二变量的当前值(在此被称为“第四值”)动态地生成或选择第四样式286,并且向客户端B发送具有第四样式的第四网页288。客户端B接收并呈现具有第四样式的第四网页290。在一些实施例中,当请求264或284是对新的或更新的样式表的请求或替选地是刷新请求时,以向请求客户端发送所生成的或所选择的样式表的操作替代操作266或288,而不发送新的或更新的网页。
图3A至3E图示动态生成定制的用户界面的方法可以被如何实现。图3A是用于实现定制皮肤的网页中的指令300的通用示例。指令300被布置或排序使得一个或多个初始样式表链接302被调用并且函数被定义304。在图3A中所示的示例中,函数被称为“Rotate(循环)”。在该示例中,也建立了用于执行各种功能的应用代码306并且执行了该应用代码的至少一部分。作为应用代码的部分,可以定义变量并将当前值308赋予该变量。赋予该变量的当前值308可以随时间不同而改变。例如,该变量可以是用户选择的变量,该变量的值依赖于在客户端外部的条件。此外,通过将变量的当前值用作为函数调用310的参数,先前定义的函数(见304)可以由应用代码不时地调用。
图3B图示了用于网页的示例性HTML源代码,包括函数调用。如在该图中所示,可以从网页的主源代码初始化“skin-1.css”层叠式样式表。虽然图3B中的示例不显示rotate()函数的定义,但是在图3C和3D中提供了rotate()函数的示例。在一些实施例中,可以在网页的显示期间不时地调用(即,当显示网页时应用)其它定义的样式表。
图3C描述了用于网页的示例性HTML源代码330,包括用于调用一个循环组的“差异”样式表的JavaScript指令。在该代码中,主样式表首先被建立332。为了改变或刷新皮肤或外观,使用适当的统一资源定位器(URL)调用另一个样式表334,在此称为差异样式表。就差异样式表具有任意与主样式表相同的参数而言,差异样式表覆盖这些参数。在另外方面,就主样式表和差异样式表指定不同的样式参数而言,所述两个样式表是互补的。每当rotate函数被调用时(例如,通过在网页的HTML源代码330的主体中的JavaScript指令),另一个差异样式表被调用336以进一步刷新网页的外观。
图3D示出使用URL导入操作(例如,使用“import”HTML命令而实现的)来导入一个序列的样式表的示例性源代码340。该示例获得与图3C中的示例相同的结果,但是使用了不同的技术。与图3C中的源代码类似,主样式表首先被建立342。差异或从属样式表的URL在HTML“import”命令中被指定,使得所指定的样式表被导入344到客户端并被应用到网页。将标识符赋予该差异或从属样式表,在本示例中id=“skin”,这使得该样式表被新的样式表所替代。在346中定义了一个函数(在本示例中称为rotate函数),该函数用于导入其它样式表以替代先前导入的差异或从属样式表。该rotate函数可以由网页的HTML源代码340的主体中的指令所调用。每次该rotate函数被调用时(例如,通过网页的HTML源代码340的主体中的JavaScript指令),新的样式表就取代被赋予标识符id=“skin”的先前导入的样式表,并且在呈现网页时新导入的样式表中的样式条目被客户端设备所使用。
图3E示出JavaScript函数的示例性源代码,所述JavaScript函数使用文档对象模型(DOM)向网页添加样式表。在该示例中,该函数将指向样式表的链接插入网页的首部。DOM提供用来访问和修改文档的内容、结构和样式的应用编程接口(API)。在该示例中,该函数向网页的DOM结构添加新的元素(element)。添加到网页的新的元素是具有属性rel=“stylesheet”、type=“text/css”以及href=url的HTML链接,其中“url”是该函数的输入参数。在该HTML链接中的“url”可以是如上所述根据用户指定的变量选择的URL。替选地,在该HTML链接中的“url”可以是调用服务器中的样式表生成函数或程序的固定值。
在一些实施例中,指向网页的HTML代码中的样式表的链接的建立或替代导致向服务器的HTML请求,所述请求指定所请求的样式表的URL。服务器可以将带有该URL的HTML请求当作对样式表生成函数或程序的函数或程序调用。该函数或程序根据在与请求客户端相关联的用户(例如,用户可以通过成功登录服务器而与该客户端相关联)的用户简档中所识别的变量的当前值生成或选择样式表。
图4是图示根据本发明的一些实施例的示例性客户端102的框图。客户端102通常包括一个或多个处理单元(CPU)402、一个或多个网络或其它通信接口404、用户接口408、存储器414以及用于互联这些部件的一个或多个通信总线406。通信总线406可以包括电路(有时称为芯片集),所述电路对系统组件之间的通信进行互联和控制。用户接口408可以包括显示器410、键盘412以及可能地也包括其它组件。
存储器414包括高速随机存取存储器,诸如DRAM、SRAM、DDRRAM或其它随机存取固态存储器设备;并且可以包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备或其它非易失性固态存储设备。存储器414可以可选地包括位于CPU 402远处的一个或多个存储设备。在一些实施例中,存储器414存储以下程序、模块以及数据结构或其子集:
·操作系统416,包括用于处理各种基本系统服务以及用于执行依赖硬件的任务的程序;
·网络通信模块418,用来经由所述一个或多个通信网络接口404和一个或多个通信网络,诸如因特网、其它广域网、局域网、城域网等,将客户端102连接到其它计算机;
·客户端应用106,能够允许用户与客户端102和/或网络资源交互以执行如上所述的一个或多个任务;
·一个或多个网页108,可以被显示在客户端应用106上;以及
·一个或多个样式表420。
在一些实施例中,网页108可以显示webmail应用或其它类型的在线应用。如上所述,网页108可以引用根据用户选择的变量生成或选择的一个循环组的样式表或者一个序列的样式表。在一些实施例中,所述一个或多个样式表420可以在本地缓存用于由客户端应用106使用。在其它实施例中,可以在每次下载网页或刷新网页时从服务器110下载样式表420。
图5是图示根据本发明的一些实施例的示例性信息服务器110的框图。服务器110通常包括一个或多个处理单元(CPU)502、一个或多个网络或其它通信接口504、存储器508以及用于互联这些部件的一个或多个通信总线506。通信总线506可以包括电路(有时称为芯片集),所述电路对系统组件之间的通信进行互联和控制。
存储器508包括高速随机存取存储器,诸如DRAM、SRAM、DDRRAM或其它随机存取固态存储器设备;并且可以包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备或其它非易失性固态存储设备。存储器508可以可选地包括位于CPU 502远处的一个或多个存储设备。在一些实施例中,存储器508存储以下程序、模块以及数据结构或其子集:
·操作系统510,包括用于处理各种基本系统服务以及用于执行依赖硬件的任务的程序;
·网络通信模块512,用来经由所述一个或多个通信网络接口504和一个或多个通信网络,诸如因特网、其它广域网、局域网、城域网等,将客户端102连接到其它计算机;
·在线应用114;
·动态样式表生成器116;
·样式表库120,包括一个或多个主样式表122,以及一个或多个差异样式表124;
·一个或多个组合样式表126(可选,如上所述);
·用户简档128,用于存储用户信息;
·一个或多个事件变量130;以及
·图像数据库132。
在一些实施例中,在线应用114可以是webmail应用或其它类型的在线应用。动态样式表生成器116根据如上所述的一个或多个用户选择的变量生成或选择动态样式表。
样式表库120可以存储主样式表122。主样式表122可以与差异样式表124组合以产生组合样式表126。替选地,由在线应用114产生的网页可以引用主样式表和一个或多个差异样式表124两者。动态样式表生成器116使用各种样式表来根据用户选择的变量发送和创建样式表。
用户简档数据库128存储特定于每个用户的信息。在一些实施例中,个体的用户简档516可以包括用户ID 518、一个或多个用户选择的变量520以及特定于该用户的其它信息。一旦已经向用户分配了用户ID 516,该用户可以使用其用户ID 516登录到网站或在线应用。该用户接着可以选择变量(用户选择的变量520)以定制该网站或在线应用的外观。用户选择的变量520接着被存储在该特定用户的用户简档516中。
上述的图4和5中的元素的每一个都可以被存储在一个或多个先前提到的存储器设备中。在这些图中示出的应用、函数、模块和操作系统对应于用于执行上述功能的指令组。所述模块或程序(即指令组)不需要被实现为独立的软件程序、程序或模块,并且因而在各种实施例中这些模块的各种子集可以被组合或另外被重新布置。在一些实施例中,存储器416和/或存储器508可以存储上述的模块和数据结构的子集。而且,存储器416和/或存储器508可以存储上面没有描述的额外的模块和数据结构。
虽然图4和5分别示出了客户端102和服务器110,这些图更多地用作对各种特征的功能性的描述,所述各种特征可以存在于客户端和一组服务器中而不是用作在此描述的实施例的结构性示意。在实践中,并如同本领域中的普通技术人员所认知的,单独示出的项目能够被组合并且一些项目能够被分离。例如,在图5中单独示出的一些项目能够在单个服务器上实现,并且单个项目能够由一个或多个服务器实现。用来实现服务器110的服务器的实际数目以及特征如何在它们之间分配将随实施方式的不同而不同,并且可以部分地依赖于系统在峰值使用期间以及平均使用期间必须处理的数据通信量。
为了说明的目的,已经参考了特定的实施例记述了上述描述。然而,上面的说明性的讨论并不意在穷举或将本发明限制在所公开的精确形式。考虑到上述教导,可以进行许多修改和变动。挑选和描述这些实施例是为了最好地解释本发明的原理和其实际应用,因而使得其他的本领域技术人员能够最佳使用本发明和适合所想到的特定用途的带有各种修改的各种实施例。

Claims (22)

1.一种呈现在线应用的计算机实现的方法,包括:
在第一时间接收和呈现具有第一样式的所述在线应用的第一网页;
在第二时间接收和呈现具有不同于所述第一样式的第二样式的所述在线应用的第二网页;
其中所述第一样式和第二样式依据于用户选择的变量,其中所述用户选择的变量在所述第一和第二时间分别具有第一和第二不同值,并且其中所述用户选择的变量独立于所述第一网页和所述第二网页的内容;
在所述第一时间动态地接收第一样式表,所述第一样式表是根据所述用户选择的变量的所述第一值生成或选择的,所述第一样式表对应于所述第一样式,以及
在所述第二时间动态地接收第二样式表,所述第二样式表是根据所述用户选择的变量的所述第二值生成或选择的,所述第二样式表对应于所述第二样式。
2.如权利要求1所述的方法,其中所述第一网页引用静态样式表和所述第一样式表,并且所述第二网页引用所述静态样式表和所述第二样式表,并且其中所述静态样式表包括应用到所述第一和第二网页两者的多个样式元素。
3.如前述权利要求中的任一项所述的方法,其中所述用户选择的变量从由日期、时间、天气、温度、季节、节日以及股票市场活动组成的组中选择。
4.如前述权利要求1或2所述的方法,其中所述第一和第二样式包括指向不同的第一和第二背景图像的链接。
5.如前述权利要求1或2所述的方法,其中所述第一和第二值是根据由用户简档指定的至少一个量度而确定的,其中所述至少一个量度具有随时间而改变的值。
6.如前述权利要求1或2所述的方法,其中所述第一网页和所述第二网页具有相同的URL。
7.如前述权利要求1或2所述的方法,其中所述方法在对应的客户端设备处被执行,并且所述用户选择的变量由所述客户端设备的用户选择。
8.如前述权利要求1或2所述的方法,其中所述第一网页和所述第二网页是与所述在线应用相关联的网页的预定集合中的任一个。
9.一种用于呈现在线应用的客户端系统,包括:
装置,用于在第一时间接收和呈现具有第一样式的所述在线应用的第一网页,以及用于在第二时间接收和呈现具有不同于所述第一样式的第二样式的所述在线应用的第二网页;
其中所述第一样式和第二样式依据于用户选择的变量,并且其中所述用户选择的变量在所述第一和第二时间分别具有第一和第二不同值,并且其中所述用户选择的变量独立于所述第一网页的内容;
在所述第一时间动态地接收第一样式表的装置,所述第一样式表是根据所述用户选择的变量的所述第一值生成或选择的,所述第一样式表对应于所述第一样式,以及
在所述第二时间动态地接收第二样式表的装置,所述第二样式表是根据所述用户选择的变量的所述第二值生成或选择的,所述第二样式表对应于所述第二样式。
10.一种呈现在线应用的计算机实现的方法,包括:
在第一时间向客户端发送具有第一样式的所述在线应用的第一网页;
在第二时间向所述客户端发送具有不同于所述第一样式的第二样式的所述在线应用的第二网页;以及
其中所述第一样式和第二样式依据于用户选择的变量而被确定,并且其中所述用户选择的变量在所述第一时间和第二时间之前由所述客户端的用户所选择并且在所述第一和第二时间分别具有第一和第二不同值,并且其中在所述第一时间和第二时间的所述用户选择的变量的值独立于所述第一网页和所述第二网页的内容。
11.如权利要求10所述的方法,包括:
根据所述用户选择的变量的所述第一值在所述第一时间动态地生成第一样式表,所述第一样式表对应于所述第一样式,以及
根据所述用户选择的变量的所述第二值在所述第二时间动态地生成第二样式表,所述第二样式表对应于所述第二样式。
12.如权利要求11所述的方法,其中所述第一网页引用静态样式表和所述第一样式表,并且所述第二网页引用所述静态样式表和所述第二样式表,并且其中所述静态样式表包括应用到所述第一和第二网页两者的多个样式元素。
13.如权利要求10所述的方法,其中所述用户选择的变量从由日期、时间、天气、温度、季节、节日以及股票市场活动组成的组中选择。
14.如权利要求10所述的方法,其中所述第一和第二样式包括不同的第一和第二背景图像。
15.如权利要求10所述的方法,其中所述第一和第二值是根据由用户简档指定的至少一个量度而确定的,其中所述至少一个量度包括具有随时间而改变的值的量度。
16.如权利要求10所述的方法,其中所述第一网页和所述第二网页具有相同的URL。
17.如权利要求10所述的方法,其中所述方法在远离所述客户端的服务器处被执行,并且所述用户选择的变量由所述客户端的用户选择。
18.如权利要求10所述的方法,其中所述第一网页和所述第二网页是与所述在线应用相关联的网页的预定集合中的任一个。
19.一种呈现在线应用的计算机实现的方法,包括:
在第一时间向客户端设备发送具有第一样式的所述在线应用的第一网页;
在第二时间向所述客户端设备发送具有不同于所述第一样式的第二样式的所述在线应用的第二网页;
其中所述第一样式和第二样式依据于变量而被确定,所述变量在所述第一和第二时间分别具有第一和第二不同值,并且根据所述客户端设备的用户的用户简档自动确定所述第一和第二不同值。
20.如权利要求19所述的方法,包括:
根据所述变量的所述第一值在所述第一时间动态地生成第一样式表,所述第一样式表对应于所述第一样式,以及
根据所述变量的所述第二值在所述第二时间动态地生成第二样式表,所述第二样式表对应于所述第二样式。
21.一种呈现在线应用的计算机实现的方法,包括:
在第一时间向第一客户端设备发送具有第一样式的所述在线应用的第一网页;
在第二时间向所述第一客户端设备发送具有不同于所述第一样式的第二样式的所述在线应用的第二网页;
其中所述第一样式和第二样式依据于第一用户选择的变量而被确定,并且其中所述第一用户选择的所述变量在所述第一和第二时间分别具有第一和第二不同值;以及
在第三时间向第二客户端发送具有第三样式的所述在线应用的第三网页;
在第四时间向所述第二客户端发送具有不同于所述第三样式的第四样式的所述在线应用的第四网页;
其中所述第三样式和第四样式依据于第二用户选择的变量而被确定,其中所述第二用户不同于所述第一用户并且所述第二用户选择的所述变量不同于所述第一用户选择的所述变量,并且其中所述第二用户选择的所述变量在第三和第四时间分别具有第三和第四不同值。
22.如权利要求21所述的方法,包括:
根据所述第一用户选择的所述变量的所述第一值在所述第一时间动态地生成第一样式表,所述第一样式表对应于所述第一样式;
根据所述第一用户选择的所述变量的所述第二值在所述第二时间动态地生成第二样式表,所述第二样式表对应于所述第二样式;
根据所述第二用户选择的所述变量的所述第三值在所述第三时间动态地生成第三样式表,所述第三样式表对应于所述第三样式;以及
根据所述第二用户选择的所述变量的所述第四值在所述第四时间动态地生成第四样式表,所述第四样式表对应于所述第四样式。
CN2007800320972A 2006-06-29 2007-06-28 动态生成定制用户界面 Expired - Fee Related CN101512483B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/427,774 US7908551B2 (en) 2006-06-29 2006-06-29 Dynamically generating customized user interfaces
US11/427,774 2006-06-29
PCT/US2007/072401 WO2008003062A2 (en) 2006-06-29 2007-06-28 Dynamically generating customized user interfaces

Publications (2)

Publication Number Publication Date
CN101512483A CN101512483A (zh) 2009-08-19
CN101512483B true CN101512483B (zh) 2013-06-12

Family

ID=38846562

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800320972A Expired - Fee Related CN101512483B (zh) 2006-06-29 2007-06-28 动态生成定制用户界面

Country Status (5)

Country Link
US (2) US7908551B2 (zh)
EP (1) EP2038741A2 (zh)
KR (1) KR101445355B1 (zh)
CN (1) CN101512483B (zh)
WO (1) WO2008003062A2 (zh)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7774378B2 (en) 2004-06-04 2010-08-10 Icentera Corporation System and method for providing intelligence centers
US8078290B2 (en) * 2005-12-13 2011-12-13 Panasonic Electric Works Co., Ltd. System and methods for controlling embedded devices using device style sheets
US8868533B2 (en) 2006-06-30 2014-10-21 International Business Machines Corporation Method and apparatus for intelligent capture of document object model events
US8583772B2 (en) * 2008-08-14 2013-11-12 International Business Machines Corporation Dynamically configurable session agent
US8949406B2 (en) * 2008-08-14 2015-02-03 International Business Machines Corporation Method and system for communication between a client system and a server system
WO2008029774A1 (en) * 2006-09-04 2008-03-13 Visionarts, Inc. Download add-in program, upload add-in program, rewriting add-in program, download method and upload method
US20080270473A1 (en) * 2007-04-30 2008-10-30 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Determining an influence on a person by web pages
US20080297521A1 (en) * 2007-05-31 2008-12-04 Liang-Yu Chi System and method for providing skins for a web page
US8042055B2 (en) 2007-08-31 2011-10-18 Tealeaf Technology, Inc. Replaying captured network interactions
US8533588B2 (en) * 2007-11-30 2013-09-10 Red Hat, Inc. Overriding images in user interfaces
US8285813B1 (en) * 2007-12-05 2012-10-09 Appcelerator, Inc. System and method for emulating different user agents on a server
RU2010143024A (ru) * 2008-03-21 2012-04-27 Конинклейке Филипс Электроникс Н.В. (Nl) Способ отображения информации, генерируемой клиентом
EP2283410A4 (en) * 2008-05-20 2013-02-06 Hewlett Packard Development Co BENUTZEROBERFLÄCHENMODIFIZIERER
US8775926B2 (en) * 2008-05-30 2014-07-08 Red Hat, Inc. Stylesheet conversion engine
KR101547496B1 (ko) * 2008-07-24 2015-08-27 삼성전자주식회사 웹 페이지 재구성 방법 및 장치
US8418066B2 (en) * 2008-08-07 2013-04-09 International Business Machines Corporation Content personalization for web distributed content
CN101814021B (zh) * 2009-02-24 2014-08-06 易保网络技术(上海)有限公司 在远程设备上显示用户界面的方法和系统
US8930818B2 (en) * 2009-03-31 2015-01-06 International Business Machines Corporation Visualization of website analytics
US9934320B2 (en) 2009-03-31 2018-04-03 International Business Machines Corporation Method and apparatus for using proxy objects on webpage overlays to provide alternative webpage actions
US8132109B2 (en) * 2009-05-15 2012-03-06 International Business Machines Corporation Webpage magnifier/formatter using CSS properties and cursor/mouse location
KR101632748B1 (ko) * 2009-09-24 2016-07-04 삼성전자주식회사 맞춤형 원격 사용자 인터페이스 페이지를 제공하기 위한 장치 및 방법
EP2325800A1 (en) * 2009-11-02 2011-05-25 Accenture Global Services Limited Web portal application customization method and system using profiles
US20110145736A1 (en) * 2009-12-14 2011-06-16 Sap Ag Systems and Methods for Designing a Universal User Interface
US8543675B1 (en) * 2009-12-17 2013-09-24 Amazon Technologies, Inc. Consistent link sharing
TW201222415A (en) 2010-11-29 2012-06-01 Ibm Method and system for consistent web application presentation
CN102622376A (zh) * 2011-01-28 2012-08-01 北京千橡网景科技发展有限公司 用于合并层叠样式表文件的方法和设备
JP6066096B2 (ja) * 2011-02-22 2017-01-25 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation コンテンツのオンページ操作およびリアルタイム置換のための方法、システム、およびコンピュータ・プログラム
CN102298523A (zh) * 2011-09-09 2011-12-28 北京华通伟业科技发展有限公司 界面管理系统及界面管理方法
US10120847B2 (en) * 2012-01-27 2018-11-06 Usablenet Inc. Methods for transforming requests for web content and devices thereof
US20130227426A1 (en) * 2012-02-24 2013-08-29 Sony Corporation Customized user web-page setting techniques
US20150234798A1 (en) * 2012-06-01 2015-08-20 Google Inc. System and method for changing a web ui application appearance based on state through css selector cascading
CN102881050B (zh) * 2012-09-19 2015-02-25 中国联合网络通信集团有限公司 票务处理方法及系统
US9635094B2 (en) 2012-10-15 2017-04-25 International Business Machines Corporation Capturing and replaying application sessions using resource files
US9536108B2 (en) 2012-10-23 2017-01-03 International Business Machines Corporation Method and apparatus for generating privacy profiles
US9535720B2 (en) 2012-11-13 2017-01-03 International Business Machines Corporation System for capturing and replaying screen gestures
US10474735B2 (en) 2012-11-19 2019-11-12 Acoustic, L.P. Dynamic zooming of content with overlays
CN102982164B (zh) * 2012-12-07 2016-08-03 北京奇虎科技有限公司 一种浏览器页面呈现方法和浏览器
CN103034710B (zh) * 2012-12-07 2016-08-24 北京奇虎科技有限公司 用于浏览器的页面呈现方法和装置
US10977425B1 (en) * 2013-03-13 2021-04-13 Sprint Communications Company L.P. Dynamic resource refresh
US20150007133A1 (en) * 2013-06-27 2015-01-01 Adobe Systems Incorporated Content Package Generation for Web Content
US20150040000A1 (en) * 2013-08-02 2015-02-05 Moboom Ltd. Methods and systems for generating server-side media queries
CN103399747B (zh) * 2013-08-02 2017-12-26 百度在线网络技术(北京)有限公司 导航页的提供方法、系统和导航服务器
WO2015116592A1 (en) 2014-01-28 2015-08-06 Moboom Ltd. Adaptive content management
US9189207B2 (en) * 2014-03-11 2015-11-17 Telefonaktiebolaget L M Ericsson (Publ) Methods and systems for dynamic runtime generation of customized applications
CN104007991B (zh) * 2014-06-06 2019-06-14 百度在线网络技术(北京)有限公司 应用程序界面布局调整方法和装置
KR101705816B1 (ko) * 2014-09-05 2017-02-22 주식회사 포워드벤처스 쇼핑 서비스 제공 장치, 방법, 및 컴퓨터 프로그램
US10963539B2 (en) 2014-09-10 2021-03-30 Mk Systems Usa Inc. Interactive web application editor
CN104579928B (zh) * 2014-12-31 2017-11-28 上海格尔软件股份有限公司 一种根据邮件发件人信息自动配置邮件在邮件列表中展现样式的系统及方法
US10423711B2 (en) * 2015-10-23 2019-09-24 Oracle International Corporation Generating style sheets during runtime
CN108073649B (zh) * 2016-11-15 2022-02-25 北京搜狗科技发展有限公司 一种信息处理方法和装置、一种用于信息处理的装置
US10614145B2 (en) * 2017-06-14 2020-04-07 International Business Machines Corporation Presenting content on a webpage in a desired format
CN110389759A (zh) * 2018-04-17 2019-10-29 北京搜狗科技发展有限公司 一种目标界面生成方法及装置
US11514121B2 (en) 2020-08-10 2022-11-29 International Business Machines Corporation Webpage customization
CN112099790B (zh) * 2020-09-10 2024-03-29 北京百度网讯科技有限公司 确定页面主题的方法、装置、设备以及存储介质
CN114428615B (zh) * 2022-01-26 2024-05-17 北京有竹居网络技术有限公司 Css编译方法、样式更新方法、装置、介质及设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6151702A (en) * 1994-09-30 2000-11-21 Computer Associates Think, Inc. Method and system for automated, interactive translation of a software program to a data model for input to an information repository

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7421278B2 (en) * 2000-03-13 2008-09-02 Intellions, Inc. Method and apparatus for time-aware and location-aware marketing
US7346842B1 (en) * 2000-11-02 2008-03-18 Citrix Systems, Inc. Methods and apparatus for incorporating a partial page on a client
US20020165881A1 (en) * 2001-03-15 2002-11-07 Imation Corp. Web page color accuracy using color-customized style sheets
JP2003223463A (ja) 2001-11-01 2003-08-08 Matsushita Electric Ind Co Ltd 情報提供サーバ装置及び情報提供システム
EP1327940A1 (en) * 2002-01-09 2003-07-16 Sony International (Europe) GmbH Server-side framework for personalised mobile services
US6941521B2 (en) 2002-03-29 2005-09-06 Intel Corporation Method for dynamically generating a user interface from XML-based documents
US20030216929A1 (en) * 2002-05-16 2003-11-20 International Business Machines Corporation Method, system and program product for presenting web content according to a determined learning style
US7200820B1 (en) * 2002-09-27 2007-04-03 Bellsouth Intellectual Property Corp. System and method for viewing search results
JP2004185541A (ja) * 2002-12-06 2004-07-02 Minolta Co Ltd デバイス管理装置
US7383498B1 (en) * 2002-12-27 2008-06-03 Sap Ag Editing styles for markup documents using parametrized styles sheets
US20060069790A1 (en) * 2004-09-30 2006-03-30 Surender Surana Content presentation adaptation
US20060212806A1 (en) * 2005-03-18 2006-09-21 Microsoft Corporation Application of presentation styles to items on a web page
US20070239726A1 (en) * 2006-03-29 2007-10-11 Mathew Girard Weiss Systems and methods of transforming data for web communities and web applications

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6151702A (en) * 1994-09-30 2000-11-21 Computer Associates Think, Inc. Method and system for automated, interactive translation of a software program to a data model for input to an information repository

Also Published As

Publication number Publication date
US20080005661A1 (en) 2008-01-03
EP2038741A2 (en) 2009-03-25
US20110161803A1 (en) 2011-06-30
US8555158B2 (en) 2013-10-08
CN101512483A (zh) 2009-08-19
WO2008003062A3 (en) 2008-03-27
US7908551B2 (en) 2011-03-15
WO2008003062A2 (en) 2008-01-03
KR101445355B1 (ko) 2014-09-29
KR20090024283A (ko) 2009-03-06

Similar Documents

Publication Publication Date Title
CN101512483B (zh) 动态生成定制用户界面
US8312170B2 (en) Method and apparatus for managing a collection of portlets in a portal server
CN104660620B (zh) 二维码处理方法、客户端、电子设备、服务器端及服务器
CN107229633A (zh) 静态页面生成方法、网页访问方法及装置
CN111104635B (zh) 一种表格网页的生成方法和装置
US20060235935A1 (en) Method and apparatus for using business rules or user roles for selecting portlets in a web portal
US20030020746A1 (en) System and method for dynamically generating a web page
CN102955803A (zh) 一种网站展示方法及浏览器
CN109697064A (zh) 一种自定义页面的生成方法及装置
CN101432713A (zh) 基于交互频率向用户提供内容的方法和系统
CN103034690A (zh) 一种基于web服务的移动客户端应用程序自定制方法
CN101542427A (zh) 内容馈给用户界面
US20200159962A1 (en) Untrackable Personalization Based on Previously Downloaded Content
US20140244784A1 (en) Website Impersonation System and Method
CN103078967A (zh) 一种生成常用网址的客户端、服务器、系统和方法
US9274669B1 (en) Customizing user interfaces for multiple different clients
KR101035327B1 (ko) 로그 분석을 이용한 자동 진화형 웹페이지 제공 방법 및 시스템
CN110083781A (zh) 用于映射页面状态的系统和方法
CN106202368B (zh) 预加载方法和装置
CN104272336A (zh) 基于列表的广告服务
WO2002065359A1 (en) Electronic information management system
JPH0991308A (ja) 情報探索システム
CN116776030A (zh) 灰度发布方法、装置、计算机设备、存储介质
KR20020004093A (ko) 인터넷 광고 제작장치 및 방법
KR20050002674A (ko) 키워드 검색 창을 이용한 광고방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130612

Termination date: 20160628

CF01 Termination of patent right due to non-payment of annual fee