用于向网站添加个人化的值的***、Web服务器和方法
技术领域
本发明涉及可通过经由网络与网站相连接的Web浏览器显示网页的网络***,并尤其涉及用于向网站添加个人化的值的***或类似物。
背景技术
近年来网页的可及性逐渐吸引了注意。这是一种用于使全部web用户能访问在Web上提供的信息并且使用那里的内容及功能而不存在任何年龄、生理缺陷或使用环境的限制的技术。利用比较传统的技术,用户仅需要将鼠标指针移动到网站上的所需文章的段落的第一部分,以使该段落自动朗读且缩放字符(例如,见非专利文献1)。此非专利技术1的技术还使用户能改变阅读的速度或调整音量。它还使弱视或具有白内障的用户能改变字符的颜色或背景色,以帮助用户容易地阅读。此软件具有多种方案来消除用户将此软件安装在PC(个人计算机)上时所遇到的麻烦。例如,当PC用户同意屏幕上首先显现的许可协议时,ActiveX(注册商标)对象自动启动,并检查必要软件的存在且自动下载或安装此软件。这使用户能立即使用此软件而不会遇到麻烦。此软件使屏幕上显示的内容被缩放或朗读,而不改变现有的网站。非专利文献2中所述的技术也可被认为是用于通过使用JavaScript(注册商标)或ActiveX来考虑可及性的技术。
存在一种传统的通过用JavaScript设置域来增大域的范围的技术(见非专利文献3)。此技术使得仅在相同域内存放的网页能安全地对其内容进行脚本控制,作为框架间安全性的实现。当在每个文档内执行
document.domain="ibm.com";时,在w3.trl.ibm.com和w3.watson.ibm.com处的文档可相互控制。
根据非专利文献4,不能设置document.domain,但是这可由浏览器例如Internet Explorer(注册商标)或Mozilla(注册商标)以上述方式设置。
作为传统技术,存在一种通过扩展文件.hta来避免安全性限制的技术(例如,见非专利文献5)。
作为一官方公报内所述的技术,存在这样一种技术,即用户准备个人化服务器,这使得用户可通过使用该个人化服务器在访问多个网站时实现通常的个人化(例如,见专利文献1)。
另一个官方公报公开了一种使得用户可通过利用服务器上保存的Cookie而针对多个客户机使用相同的Cookie来访问网站的技术(例如,见专利文献2)。
〔非专利文献1〕“Internet browsing support softwarerakuraku-web-sansaku”(网上),Japan IBM(2004年12月14日搜索),因特网<http://www.reserch.ibm.com/trl/news/ibm_users/trltech_11.htm>
〔非专利文献2〕“Software ZoomSight(zoomsight)”(网上),Hitachi Government &Public Corporation System Engineering,Ltd.(2004年12月14日搜索),因特网<http://www.gp.hitachi.co.jp/eigyo/product/zoomsigh/>
〔非专利文献3〕“〔InetSDK〕“access rejection”in a script overframes”(网上),Microsoft.com.Japan网站(2004年12月14日搜索),因特网<http://support.microsoft.com/default.aspx?scid=kb;JA;167796>
〔非专利文献4〕“Document Object Model(DOM)Level 2 HTMLSpecification Version 1.0”(网上),W3C Recommendation(2004年12月14日搜索),因特网<http://www.w3.org/TR/2003/REC-DOM-LEVEL-2-HTML-20030109>
〔非专利文献5〕“(InetSDK)create a page that achievescross-frame-script with an HTML application”(网上),Microsoft.com.Japan网站(2004年12月14日搜索),因特网<http://support.microsoft.com/default.aspx?scid=kb;ja;241754>
〔专利文献1〕国际专利申请No.2003-520361的国家公布
〔专利文献2〕公布的未经审查的专利申请No.2004-103022
发明内容
由于非专利文献1和2中所述的技术使用ActiveX,因此它们必须使用Windows(注册商标)作为OS(操作***),而使用Internet Explorer作为Web浏览器。这些技术缺少通用性,因为它们不允许使用其他OS或浏览器。
使用非专利文献3来设置域的方法必须改变每个网页以执行JavaScript。用户改变网站上的所有网页是麻烦的。此方法的另一个问题是不能应用于高度相关的网站,除非这些网站具有相同的二级域。
使用非专利文献5的方法要求使用Windows作为OS,而不允许使用其他OS。该方法的另一个问题是其避免了所有安全性限制,因而HTML应用仅能在用户真正信任的网站上使用。
通过专利文献1中所述的方法,服务器保存用户的私人信息。但是,由于现在私人信息的泄漏是社会问题,所以需要服务器具有被配置为管理私人信息的***,并在服务器保存私人信息时仔细管理该信息以防止该信息泄漏。这里应注意的是,具有被配置为使用例如认证的技术来管理信息的***是不足够的。在大多数私人信息泄漏的情况中,具有访问私人信息的权限的个人错误地泄漏了该私人信息。因此,在服务器上保存私人信息是非常危险的。另外,当每个用户的信息被保存在服务器上时,本方法的另一个问题是随着用户数量增加,将要存储的数据量增大。
专利文献2中所述的方法的一个问题是多个网站不能共享用于个人化的信息。此方法还具有与为专利文献1所述的相类似的问题,因为该方法在服务器上保存私人信息。
因此,越来越需要向现有的网站添加新的值而不修改该网站,以便提高可及性。优选地,使用可用于许多客户环境的技术包括JavaScript,而不使用仅局限于特定客户环境的技术例如ActiveX。但是,为了通过使用JavaScript控制另一个框架或窗口,由于Web浏览器的安全性限制,只有当该框架或窗口处于相同的域时,用户才可控制该框架或窗口。因此,即使利用这种技术,也不能将值统一地添加到多个网站。
当可个人化像这样为网页提供的添加值时,可改进该值。可使用用于在服务器上保存用于个人化的信息的方法以及用于在客户机上的Cookie内保存用于个人化的信息的方法。为了管理服务器上的私人信息,必须建立用于管理该信息的***,并且必须仔细地进行管理以便不会泄漏该信息。如果用于个人化的信息保存在Cookie内,则其不需要将其保存在服务器内。但是,在此方法中,各域不能共享用于个人化的信息。
鉴于上述的传统技术中的问题做出了本发明。本发明的一个目的是向现有的网站添加新的值(提供添加值),例如通过最小的改变来改进可及性。
本发明的另一个目的是防止客户机的环境依赖于具体的OS或Web浏览器。
本发明的另一个目的是当网页在相关的网站之间传送时,用户可使用新的添加值而没有麻烦。
本发明的另一个目的是在相关的网站之间共享用于个人化的信息而没有将该信息保存在服务器上。
在这些目的下,本发明通过向现有网站添加一些内容而没有修改现有内容来添加新的值。为此,在本发明中,定义了一组将被提供相同添加值的网站,并注册用于为每个网站提供该添加值的URL。本发明通过在Web浏览器中显示现有网页并从另一个框架或另一个窗口操纵用于该网页的DOM,提供该添加值。当网页具有到将被提供相同添加值的网站的网页的链接时,改变DOM,从而当该页被加载在框架内时,该页被转移到在网站上提供添加值的URL。用于个人化的信息的特征在于,用于管理Cookie的网站是从一组将被提供相同添加值的网站选择的,从而可通过所选择的网站访问该Cookie。
就是说,本发明的特征在于包含第一Web服务器和一个或多个第二Web服务器的***,其中可在经由网络与第一Web服务器和一个或多个第二Web服务器相连接的客户设备内的Web浏览器上显示网页。该***包括:用于在第一Web服务器中注册向第一Web服务器和一个或多个第二Web服务器中的每一个提供添加值的文件的URL的装置,该第一Web服务器和一个或多个第二Web服务器被定义为一组将被提供相同添加值的Web服务器,以及用于将该添加值提供给网页的装置,这是通过在Web浏览器中显示第一Web服务器和一个或多个第二Web服务器的现有网页,并从另一个框架或另一个窗口操纵API(应用程序接口)例如DOM进行的。
本发明的特征可在于,当网页具有到将被提供相同添加值的另一个Web服务器的网页的链接,并且该网页被加载在框架中时,第一Web服务器和一个或多个第二Web服务器改变DOM,从而该网页被转移到在该另一个Web服务器上提供添加值的URL。本发明的特征还可在于,来自第一Web服务器和一个或多个第二Web服务器的特定Web服务器管理Cookie,并且与添加值相关的用于个人化的信息通过该特定Web服务器访问该Cookie。在以下描述中,选择该第一Web服务器作为用于管理该Cookie的特定Web服务器。
从另一方面看,应用了本发明的***的特征在于在第一Web服务器和一个或多个第二Web服务器中的每一个内具有这样的装置,该装置用于存储分别特定于该第一Web服务器和一个或多个第二Web服务器的web内容,并使用框架生成文档文件例如HTML以向所述web内容提供添加值,其中该第一Web服务器具有这样的文档文件,该文件用于由第一Web服务器和第二Web服务器生成的文档文件引用,并用于导致Web浏览器实现添加值。
第一Web服务器可具有这样的特征,即当作为参数从Web浏览器传递的URL是针对先前被注册为一组将被提供相同添加值的Web服务器的域时,它将包含用于读Cookie的脚本程序例如JavaScript的文档文件发送给Web浏览器。第二Web服务器可具有这样的特征,即它根据作为参数从Web浏览器传递的Cookie上的信息,将包含脚本程序的文档文件发送给Web浏览器。添加值可以是用于改进可及性的。作为添加值,可考虑显示译文、注音假名(通过在中文字符一侧写假名(日文字符)阅读中文字符)或首字母缩拼词或缩写词的完整描述。
另一方面,本发明是向通过网络连接的Web浏览器提供相同添加值的Web服务器中的主Web服务器,其包括:用于存储特定于设备的初始web内容的存储装置,用于生成具有用于提供添加值的框架的文档文件的生成装置,以及用于发送将从在Web服务器处生成的文档文件引用的文档文件从而使得Web浏览器实现该添加值的发送装置。
Web服务器的特征还可在于还包含这样的装置,该装置用于注册被定义为一组将被提供相同添加值的Web服务器的Web服务器的域以及提供该添加值的脚本程序的URL。该Web服务器的特征还可在于还包含第二发送装置,该装置用于确定作为参数从该浏览器传递的URL是否为用于先前注册的Web服务器的域的URL之一,并在该URL为先前注册的一个的情况下,将该***提供的包含用于读Cookie的脚本程序的文档文件发送给该浏览器。该Web服务器的特征可在于还包含第三发送装置,该装置用于当从显示作为所述Web服务器之一的另一个Web服务器的网页的Web浏览器接收到对用于写Cookie的脚本程序的请求时,向该Web浏览器发送包含用于写Cookie的脚本程序的文档文件。
从方法范畴来看,本发明是一种用于在具有经由网络与Web浏览器连接的Web服务器的***内提供添加值而不修改现有web内容的方法,其包括以下步骤,即在作为所述Web服务器之一的特定计算机的存储器内事先存储被定义为一组将被提供相同添加值的Web服务器的域,以及用于提供该添加值的脚本程序的URL;并检查作为参数从该Web浏览器提供的URL是否先前已存储在该存储器内,且在该URL先前已存储在该存储器内的情况下,将包含用于读Cookie的脚本程序的文档文件发送给Web浏览器。
该方法的特征还可在于,在Web浏览器上实现从Web服务器的文档文件引用的并且特定于应用的添加值。该方法的特征还可在于,当从显示作为所述Web服务器之一的另一个Web服务器的网页的Web浏览器接收到对用于写Cookie的脚本程序的请求时,该方法包括向该Web浏览器发送包含用于写Cookie的脚本程序的文档文件的发送步骤。
一种应用本发明的程序产品使得计算机起这样的Web服务器的作用,该Web服务器用于在具有经由网络与Web浏览器相连接的Web服务器内提供添加值而不会修改现有web内容,以事先存储被定义为一组将被提供相同添加值的Web服务器的域以及用于在该计算机的存储器内提供该添加值的脚本程序的URL,检查作为参数从该Web浏览器传递的URL是否先前已存储在该存储器内,且如果该URL先前已存储在该存储器内,将包含用于读Cookie的脚本程序的文档文件发送给Web浏览器,并且当从显示作为这些Web服务器之一的另一个Web服务器的网页的Web浏览器接收到对用于写Cookie的脚本程序的请求时,向该Web浏览器发送包含用于写Cookie的脚本程序的文档文件。
从另一方面看,应用本发明的该程序产品使得计算机通过在Web浏览器内显示现有的网页并从另一个框架或窗口操纵DOM,来将添加值提供给该网页,并且如果该网页具有到另一个将被提供该添加值的Web服务器的网页的链接,则响应于在框架内装载网页,通过操纵DOM改变“A”标记的属性,以转移到用于在该另一个Web服务器上提供该添加值的URL。
当向起Web服务器的作用的计算机提供该程序时,在计算机可读的存储介质上提供这种程序。还可考虑该程序安装在Web服务器上的实施例。作为存储介质,例如可使用各种DVD或CD-ROM介质。程序可由所述各种DVD或CD-ROM介质阅读器读取,并存储在快闪ROM或类似物内且由CPU执行。还可在具有程序传输设备的网络上提供该程序。
根据本发明,可提供新的添加值例如改进的可及性而不显著改变现有的网站。
附图说明
图1示出应用了该实施例的网络***的整体配置;
图2示意性地示出优选用于实现客户设备、第一Web服务器和第二Web服务器的计算机单元的硬件配置;
图3示出在图1所示的***内通过使用图2所示的硬件执行的每个设备的功能;
图4是示出Web浏览器的配置的框图;
图5示出用于从第二Web服务器发送的网页读取第一Web服务器管理的Cooke的方法;
图6示出用于从第二Web服务器发送的网页写将由第一Web服务器管理的Cookie的方法;
图7示出在Web浏览器上显示具有缩放字符的添加值的网站上的网页的示例;
图8示出用于图7所示示例的JSP代码;
图9示出用于以相同的添加值和JSP的URL注册Web服务器的域的JavaScript代码的示例;
图10示出在内容部分中的FRAME标记内设置的事件处理器onload的JavaScript代码;
图11是示出从图10所示的HTML产生的过程的流程的流程图;
图12(a)和(b)示出在步骤303所要求的划分文本的特定示例。
图13示出用于获得事件的源的函数的JavaScript代码。
具体实施方式
下面,将参照附图说明本发明的实施例。
图1示出应用该实施例的网络***的整体配置。图1中所示的网络***包括用于访问Web服务器并被提供了具有添加值例如可及性的网页的客户设备10,以及用于向网页提供添加值的第一Web服务器20及第二Web服务器30。每个设备连接到基于WWW(万维网)的网络例如因特网。客户设备10的用户通过使用Web浏览器(稍后说明)输出HTTP(超文本传输协议)请求或HTTPS(SSL上的超文本传输协议)请求,以从第一Web服务器20和第二Web服务器30请求具有添加值的网页。第一Web服务器20和第二Web服务器30将具有添加值的网页以HTTP响应/HTTPS响应的形式发送给客户设备10的Web浏览器。使用HTTP或HTTPS中的哪一个作为协议取决于上述的被给予该添加值的现有网站使用的协议。
图2示意性地示出优选用于实现客户设备10、第一Web服务器20和第二Web服务器30的计算机单元的硬件配置。客户设备10、第一Web服务器20和第二Web服务器30包括作为计算装置的CPU(中央处理单元)101,经由M/B(母板)芯片组102和CPU总线与CPU 101相连接的主存储器103,以及经由M/B芯片组102和AGP(加速图形端口)与CPU101相连接的视频卡104。它们还包括经由PCI(外设部件互连)总线与M/B芯片组102相连的硬盘驱动器(HDD)106,和网络接口107。它们还包括经由桥接电路105和慢速总线例如ISA(工业标准结构)总线从PCI总线与M/B芯片组102连接的软磁盘驱动器108和键盘/鼠标109。
图2仅示出实现该实施例的计算机单元的硬件配置,还可使用其他类型的配置,只要这些配置可用于该实施例即可。例如,可使用这样的配置,即仅安装有视频存储器来代替视频卡104并使CPU 101处理图象数据的配置,或者配备有经由例如ATA(AT附加装置)或SCSI(小型计算机***接口)的接口的作为外部存储器的驱动器例如CD-R(可记录光盘)驱动器或DVD-RAM(数字多用盘随机存取存储器)的配置。
图3示出在图1所示的***内通过使用图2所示的硬件执行的每个设备的功能。客户设备10包括Web浏览器11,该Web浏览器是通过使用主存储器103作为工作区域在CPU 101处执行的软件,并通过使用网络接口107经由网络104访问Web服务器例如第一Web服务器20或第二Web服务器30上存在的信息。客户设备10还包括Cookie 12,该Cookie用作在Web浏览器11和Web服务器(第一Web服务器20或第二Web服务器30)之间传递信息例如用户信息或访问历史的机制。本实施例的Cookie12将由第一Web服务器20管理的头部内容以文本文件的形式保存在客户设备10中的本地HDD 106内。
第一Web服务器20和第二Web服务器30向现有的网站提供添加值例如可及性,并与网络40相连接。第一Web服务器20例如起单个主Web服务器的作用。第二Web服务器30例如包括单个或多个从属Web服务器。第一Web服务器20包括作为通过使用主存储器103作为工作区域在CPU101中执行的软件的HTTP/HTTPS处理部分21、添加值HTML生成部分22、个人信息处理部分23、域注册处理部分24、和用于处理特定于应用的添加值的添加值处理部分27。HDD 106存储原始内容25和注册域信息26。根据CPU 101内执行的各软件的指令存储和读取将存储在HDD 106内的信息。
第二Web服务器30包括作为将执行的软件的HTTP/HTTPS处理部分31、添加值HTML生成部分32、和个人信息处理部分33。HDD 106存储原始内容35。
HTTP/HTTPS处理部分21和31接收来自客户设备10的Web浏览器11的HTTP请求/HTTPS请求,并向Web浏览器11发送HTTP响应/HTTPS响应。添加值HTML生成部分22和32是将在Web服务器上执行的用于生成用于提供添加值的文档文件例如使用框架的HTML的程序。Web服务器(第一Web服务器20,第二Web服务器30)分别具有添加值HTML生成部分22和32。第一Web服务器20的个人信息处理部分23执行用于写将被第一Web服务器20管理的Cookie的多种类型的处理。第二Web服务器30的个人信息处理部分33执行多种类型的这样的处理,这些处理用于发送包含用于传达作为参数从Web浏览器11传递的Cookie信息的脚本程序例如JavaScript的HTML。存储用于以相同的添加值和JSP(Java服务器页)的URL注册Web服务器的域的Javascript的代码信息,作为第一Web服务器20的注册域信息。域注册处理部分24检查作为参数传递的URL是用于先前注册的域的那些URL之一,还是不基于注册域信息26内存储的代码信息。存储特定于每个Web服务器的原始内容,作为原始内容25和35。添加值处理部分27执行对添加值的处理例如响应于鼠标的移动在另一个框架内放大鼠标指针指示的文本。添加值处理部分27由这样的程序构成,这些程序被从所有Web服务器包括第一Web服务器20和第二Web服务器30生成的并且由Web浏览器11执行的HTML引用。
客户设备10的用户通过使用Web浏览器11以HTTP请求/HTTPS请求的形式从第一Web服务器20请求具有添加值例如可及性的网页。第一Web服务器20的HTTP/HTTPS处理部分21以HTTP响应/HTTPS响应的形式将具有添加值的网页发送给Web浏览器11。接收到该具有添加值的网页的Web浏览器11可不仅仅显示该网页,而且还执行用于可及性的功能。作为添加值,可在另一个框架内放大和显示或朗读用户用鼠标指示的信息。在此实施例内,可个人化添加值的功能。例如,通过这种添加值,用户可指定用于放大用户用鼠标指示的将在另一个框架内显示的信息的放大率。此信息被第一Web服务器20管理的Cookie 12保存。
客户设备10的用户通过在该网页上的链接上点击鼠标按键而移动到另一个网页。如果目的网页位于Web服务器20或者位于具有与在第一服务器20的注册域信息26内注册的相同的添加值的Web服务器上,则用户可在该目的网页使用相同的添加值。例如,当用户在到Web浏览器11上显示的第二Web服务器30上的网页的链接上点击鼠标按键时,以HTTP请求/HTTPS请求的形式向第二Web服务器30请求具有添加值例如可及性的网页。第一Web服务器20和第二Web服务器30注册它们具有相同的添加值。第二Web服务器30的HTTP/HTTPS处理部分31以以HTTP响应/HTTPS响应的形式将具有添加值的网页发送给Web浏览器11。
图4是示出Web浏览器11的配置的框图。图4中所示的构架指示具有框架的HTML。为各框架内的每个HTML写JavaScript代码。Web浏览器11包括用于控制添加值的控制部分51,显示原始Web内容的内容部分52,用于向现有网站上的网页添加新值的添加值部分53,以及用于通过Cookie 12将个人信息保存在客户机上的个人信息管理部分54。
当在内容部分52中读取网页时,控制部分51执行为内容部分52中的原始网页所必需的初步处理。此初步处理在“onload”期间执行,该“onload”是在用于内容部分52的FRAME标记内设置的。“onload”示出在链接内容内包含的那些东西已被读入。根据“W3C Recommendation 24 December1999,HTML 4.01 Specification”,不能在FRAME标记内设置事件处理器“onload”,但是可按此方式甚至在Internet Explorer或Mozilla内设置它。
在此初步处理内执行三个过程。
1.当该网页具有到具有相同添加值的网站上的网页的链接时,将该链接改变为具有相同添加值的链接。
2.添加用于动态改变内容部分的样式的CSS(层叠样式单)。
3.设置内容部分内的一事件处理器以提供添加值功能。
例如,当鼠标被放在HTML的每个DOM(文档对象模型)元素或从其离开时,如果已设置了事件处理器onmouseover和onmouseout,则可执行针对每种情况的过程。
内容部分52上显示的、现有网站上的网页被显示为Web浏览器11的框架。当读入该网页时,由控制部分51设置一事件处理器。根据需要,这里设置的事件处理器通过使用Dynamic HTML改变内容部分52和添加值部分53的显示。优选地,使用JavaScript作为用于描述事件处理器的编程语言,因为它运行在广泛使用的Web浏览器内。但是,此实施例并不局限于使用JavaScript作为事件处理器。如果将来开发了另一种编程语言以在许多Web浏览器上使用,则也可使用该新的编程语言。
添加值部分53被显示为框架或另一个窗口或者这两者。框架或另一个窗口的数量可以是多个。对于简单的功能,可仅用HTML和JavaScript实现添加值部分53。对于更复杂的功能,添加值部分53使用Java小应用程序或类似物。
个人信息管理部分54通过Cookie将个人信息保存在客户机,并被实现为尺寸设定为0的框架。
下面,将说明这些功能执行的处理的流程。
图5示出用于从第二Web服务器30发送的网页读取第一Web服务器20管理的Cookie的方法。在图5和6(稍后将说明)内,用于管理Cookie的特定Web服务器被视为第一Web服务器20,而其他Web服务器被视为第二Web服务器30。Web浏览器11的添加值部分53以对第一Web服务器20的HTTP请求/HTTPS请求的形式从第一Web服务器20请求这样的HTML,该HTML包含用于读取Cookie的脚本程序(步骤101)。这里,将用于个人信息管理部分54的框架指定为目标。将作为从个人信息管理部分54到第二Web服务器30的HTTP请求/HTTPS请求的目的的URL作为参数传递。
接收该HTTP请求/HTTPS请求的第一Web服务器20的域注册处理部分24基于HDD 106中存储的注册域信息26检查作为参数传递的URL是否是用于先前注册的域(步骤102)。如果它已注册,则第一Web服务器20以HTTP响应/HTTPS响应的形式发送包含脚本程序的HTML(步骤103)。该脚本程序描述用于读取Cookie和将其值发送给作为参数传递的该URL的代码。如果HTTP请求/HTTPS请求没有注册,则第一Web服务器20发送空的HTML(步骤104)。
个人信息管理部分54通过执行该发送的脚本程序读取Cookie(步骤105)。然后,个人信息管理部分54从第二Web服务器30请求脚本程序(步骤106),该程序将提供用于添加值部分53的该读取的Cookie上的信息。该个人信息管理部分54将个人信息管理部分54的框架指定为目标。该个人信息管理部分54也将读取的Cookie上的信息作为参数传递。
接收HTTP请求/HTTPS请求的第二Web服务器30以HTTP响应/HTTPS响应的形式发送包含脚本程序的HTML,该脚本程序提供用于添加值部分53的作为参数的Cookie上的信息(步骤107)。该脚本程序描述了通过使用Cookie上的信息作为变元来调用添加值部分53的脚本程序的函数的代码。
当个人信息管理部分54接收到来自第二Web服务器30的HTTP响应/HTTPS响应时,在用于个人信息管理部分54的框架和用于添加值部分53的框架两者上显示从第二Web服务器30发送的网页。因此,个人信息管理部分54可通过使用Cookie上的信息作为参数来调用添加值部分53的脚本程序(步骤108),并通知添加值部分53由第一Web服务器20管理的Cookie。添加值部分53通过使用所获得的该Cookie上的信息执行特定于应用的过程(步骤109),然后过程结束。
在服务器上执行的程序可使用除JSP之外的任何技术例如Servlet或CGI。在Web浏览器11处执行的典型程序是JavaScript。如果将来开发了另一种编程语言以在很多Web浏览器上使用,则也可使用该新的编程语言。为了改变将被提供相同添加值的一组网站,仅需要改变将添加到该组或从该组删除的网站和主Web服务器。此过程由图3中所示的域注册处理部分24执行,并且结果存储在注册域信息26中。
图6示出用于从第二Web服务器30发送的网页写将由第一Web服务器20管理的Cookie的方法。添加值部分53以对第一Web服务器20的HTTP请求/HTTPS请求的形式从第一Web服务器20请求这样的HTML,该HTML包含用于写Cookie的脚本程序(步骤201)。这里,将用于个人信息管理部分54的框架指定为目标。将要被写入该Cookie的值作为参数传递。第一Web服务器20以HTTP响应/HTTPS响应的形式将包含用于写Cookie的脚本程序的HTML发送给个人信息管理部分54(步骤202)。该个人信息管理部分54向用户确认是否应该写该Cookie(步骤203)。如果用户没有确认,则用于写Cookie的流程在此结束而不保存该Cookie,并且该操作进行到下一个过程。如果用户确认,则个人信息管理部分54写该Cookie(步骤204),并且该操作进行到下一个过程。当恶意的网站向第一Web服务器20发送未授权的写Cookie的HTTP请求/HTTPS请求时,个人信息管理部分54决不能写该Cookie。为此,第一Web服务器20可参考HTTP请求内的引用者(referer)字段,检查该URL是否是用于先前注册的域,并且如果该URL是用于注册的域,则第一Web服务器20写Cookie。但是,可考虑这样一种情况,即引用者字段可由Web浏览器的程序错误掩盖,或者用户可设置Web浏览器不发送该引用者字段。因此,考虑一种可靠的在写Cookie之前以JavaScript显示对话框的方法,以便使用户确认该Cookie应该保存。如果恶意网站改变Cookie,而用户将不重要的信息例如用于放大的放大率写入Cookie,则该改变不会有很大影响。因此,在这种情况下可省略用于向用户确认该Cookie应该改变的过程。当用Cookie处理重要信息例如个人信息时,应该不按图6所示的方法写Cookie。为此,优选地仅从特定的网站写该Cookie。
下面将说明特定示例。
图7示出在Web浏览器11上显示具有缩放字符的添加值的网站上的网页的示例。图7所示的示例具有四个框架,包括三个可视框架(第一框架61、第二框架62和第三框架63),以及不可视框架64。第一框架61是用于用户改变放大字符的放大率且由添加值部分53使用的框架。如图所示,第一框架61包含用于该添加值(放大、缩小)的按钮或类似物。第二框架62是用于显示内容并且由内容部分52使用的框架。在此示例中,第二框架62显示原始内容。第三框架63是用于显示用添加值处理的图像并由添加值部分53处理的框架。在此示例中,第三框架63显示放大的字符串。此网页还具有第四框架64,该框架因其尺寸被设定为0而不可见。第四框架64由个人信息管理部分54使用。在图7所示的示例内,当将鼠标放置在第二框架62内的预定字符串上时,在那下面的DOM元素以反白字符显示,并且在第三框架63内被缩放。
图8示出用于图7所示示例的JSP代码。在图8所示的示例内,通过使用herf的参数生成HTML。一般而言,JSP是这样的机制,其用于以HTML文件中的脚本的形式描述过程,每当Web浏览器请求该HTML文件时在服务器侧执行该脚本,用该过程的结果替换HTML中的脚本部分并将其发送给Web浏览器。图8所示的JSP包含在第一Web服务器20和第二Web服务器30内,该第一Web服务器是主Web服务器,该第二Web服务器是一个或多个从属服务器。在图8内,在内容部分的FRAME标记内设置事件处理器onload。FRAME的名称被传递作为此事件处理器的变元。为了指定内容,在src属性中指示传递了作为参数href的URL。不需要为每个网站安置将被引用的脚本程序(JavaScript)。在第七行在部分71处引用的Javascript安置在单个Web服务器(特定网站)例如第一Web服务器20上,从而允许从第一Web服务器20和第二Web服务器30选择一服务器。此部分71指示用于注册URL的JavaScript代码在哪里。然后,替换在第十一行72处所示的部分。特定网站具有相同的原始模板,但是可通过将其描述改变为特定服务器的描述而使用该特定服务器的JavaScript。
如果框架的页是来自第一Web服务器20而仅其内容是第二Web服务器30的内容,则不能通过传统技术得到该内容的信息。就是说,则一些传统的安全模型不允许在鼠标指示的位置写入例如从外部框架获得的字符串,如果Web服务器不同的话。但是,通过图8所示的实施例,当从第一Web服务器20提供的网页跳转到第二Web服务器30时,可以通过从第二Web服务器30重新加载整个页来切换该页,以从第二Web服务器30的JavaScript访问第二Web服务器30的内容。在此实施例内,当页跳过不同域时,该网页可通过重新加载该整个页而获得提供该网页的域内的JavaScript写入该内容中的字符串的信息。这样就可能实现这样的可及性,例如仅放大并朗读指示位置处的信息,以及缩放整个页和替换整个页的颜色。
图9示出用于使用相同的添加值和JSP的URL注册Web服务器的域的JavaScript代码的示例。图9示出在图8的第七行指定的JavaScript文件内的内容的一部分。图9中所示的JavaScript代码存储在图3所示的第一Web服务器20的注册域信息26内。图9内所示的示例示出
w3.trl.ibm.com
w3.watson.ibm.com
w3.almaden.ibm.com
是具有相同添加值的Web服务器的域。此示例示出可分别通过以下JSP使用相同的添加值访问这些域内的网页
http://w3.trl.ibm.com/RakurakuWeb/rakuraku.jsp
http://w3.watson.ibm.com/RakurakuWeb/rakuraku.jsp
http://w3.almaden.ibm.com/RakurakuWeb/rakuraku.jsp。
例如为了通过使用相同的添加值访问http://w3.trl.ibm.com/,应指定http://w3.trl.ibm.com/RakurakuWeb/rakuraku.jsp?href=http://w3.trl.ibm.com/。
图10示出在内容部分中的FRAME标记中设置的事件处理器onload的JavaScript代码。在用于从当前域移出的A标记中,改变用于移到具有相同添加值的Web服务器的域上的网页的标记的href属性,从而给它们提供相同的添加值,并且目标属性也改为to_top。还向内容添加CSS以用反白字符显示内容部分的DOM元素。还设定事件处理器onmouseover和onmouseout。
将不详细描述onmouseover代码。这些代码用于获得事件的源的DOM元素,设置该DOM元素的类,并通过使用CSS以反白字符显示该DOM元素,并且还在下面的框架内显示缩放的字符。
也将不详细描述onmouseout代码。这些代码用于获得事件的源的DOM元素,释放类设置,该类是被设置为以反白字符显示该DOM元素,并取消在下面的框架内显示放大的字符。在图10的第三行到第九行所示的配置内,当网页具有到将被提供相同添加值的网站的另一网页的链接时,当该页被加载在框架内时,改变DOM,从而该页转移到在网站上提供添加值的URL。就是说,当将新的网页加载在图8中所示的内容框架中时,执行图10中所示的init。检查此网页内的所有A标记。通过操作DOM改变A标记的属性,从而,到不是当前宿主页而是被定义为将被提供相同添加值的网站的主机上的页的链接被转移到在该网站上提供添加值的URL。
在图10内,添加splitText()作为用来在需要时划分文本的部分81。
图11是示出从图10中所示的HTML产生的过程的流程的流程图。在用于从当前域移出的A标记中,改变用于移到将被提供相同添加值的Web服务器的域的标记的href属性,从而向它们提供相同的添加值,并且目标属性也改变为to_top(步骤301)。添加CSS(步骤302),并根据需要划分文本(步骤303)。然后,设置事件处理器onmouseover和onmouseout(步骤304),并且过程结束。
图12(a)和(b)示出步骤303的根据需要划分文本的特定示例。为了利用比初始HTML的分段单元更细的分段单元检测鼠标指针放置所在的文本,根据需要***SPAN标记。对于SPAN标记,还添加适当的类属性。用于***SPAN标记的单元以及将使用什么类属性则依赖于应用。在图12所示的示例中,将每个句子分为SPAN标记,并使每个中文字符为该句子SPAN标记的子SPN标记。就是说,图12(a)中所示的初始句子“Kon-nichi-ha(你好).Watashi-no-namae-ha-Taro-desu(我的名字是Taro).”首先被分成如图12(b)中所示两个句子“Kon-nichi-ha”和“Watashi-no-namae-ha-Taro-desu”。按中文字符和平假名划分第二个句子“Watashi-no-namae-ha-Taro-desu”,使中文字符“Watashi”、“namae”和“Taro”为句子SPAN标记的子SPAN标记。
图13示出用于获得事件的源的函数的JavaScript代码。事件处理器onmouseover和onmouseout需要获得事件的源以执行过程。由于每种Web浏览器具有不同的用于获得事件的源的方法,所以需要这里所示的代码。图13内所示的JavaScript代码首先确定是否可使用myWindow.event。如果可使用,则使myWindow.event.srcElement为事件源。如果不可使用,则使e.Target为事件源,返回该事件的源并且过程结束。如果在鼠标指针下的HTML元素被分为图12所示的SPAN标记,则使用比初始HTML的分段单元更细的分段单元检索HTML元素。
尽管在上述实施例中对于添加值举例说明了将可及性,但是添加值也可用于例如帮助用户输入个人信息。例如,如果用户希望在商业站点上购买商品,则要求用户输入信息包括姓名、街道地址、电话号码等。用户每次购买商品都需要输入此信息是麻烦的。但是,通过此实施例,将个人信息保存在客户机作为Cookie,因而可自动输入表单中的条目。这种对用户输入个人信息的帮助可在先前注册的Web站点之间共享。例如,当用户显示注册页,填充所需的条目并按下注册按钮以注册个人信息时,在Cookie内写入该个人信息。当用户显示使用该注册的个人信息的网站上的用于输入个人信息的页时,用图5中所示的方法读取Cookie。当在步骤108从个人信息管理部分54向添加值部分53进行调用Javascript时,用户仅需要将所调用的Cookie的值替换到用于用户填充个人信息的表单的元素中。
作为另一个应用,本发明可适于使用与本实施例中所示的***类似的***翻译字符而不是放大字符。在此情况下,在处理图10中的部分82所示的splitText()时,将句子输入图12内所示的<SPAN class=“sentence”>标记内。这使得不仅可按初始HTML的每个结构而且还可按应用所需的每个单元翻译该句子。
本发明还适用于使用类似***显示注音假名(如何读中文字符)而不是放大字符。在处理splitText()时,在图12中所示的<SPAN class=“kanji”>中输入中文字符。这使得可仅检索中文字符并添加注音假名。
本发明还适用于使用类似的***给出首字母缩拼词或缩写词的完整描述而不是放大字符。在处理splitText()时,在<SPAN class=“abbreviation”>标记中输入首字母缩拼词或缩写词。
如上所述,本发明可改进可及性或添加新的值(提供添加值)例如上述各种类型的应用,而很少改变现有网站。该实施例还可防止客户机的环境依赖于特定的OS或Web浏览器。即使页在相关的网站之间转移,此实施例也使用户能使用新的添加值而不会给用户带来麻烦。该实施例还可在相关的网站之间共享个人化的信息而无需将该信息保存在服务器上。
标号说明
10 客户设备
11 Web浏览器
12 Cookie
20 第一Web服务器
21 HTTP/HTTPS处理部分
22 添加值HTML生成部分
23 个人信息处理部分
24 域注册处理部分
25 原始内容
26 注册域信息
27 添加值处理部分
30 第二Web服务器
31 HTTP/HTTPS处理部分
32 添加值HTML生成部分
33 个人信息处理部分
35 原始内容
40 网络
51 控制部分
52 内容部分
53 添加值部分
54 个人信息管理部分