发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的改变浏览器窗口中显示的内容的显示控制设备和相应的方法。
依据本发明的一个方面,提供了一种改变浏览器窗口中显示的内容的方法,所述内容包括一个或多个应用的显示内容,该方法包括以下步骤:为每一应用设置至少两种显示状态以及每种显示状态与浏览器窗口尺寸之间的对应关系;每当检测到浏览器窗口尺寸发生改变时,获取浏览器窗口的当前尺寸,并根据每一应用的显示状态与浏览器窗口尺寸之间的对应关系修改应用的显示状态;以及根据修改后的显示状态来改变所显示的应用的内容。
可选地,通过下述步骤来检测浏览器窗口的尺寸改变:捕获在浏览器窗口的尺寸发生改变时触发的事件,并处理该事件以获取浏览器窗口的当前尺寸。
可选地,其中每一应用的显示状态包括:完整显示、精简显示和缺省显示。
可选地,每种显示状态与浏览器窗口尺寸之间的对应关系包括:当浏览器窗口的尺寸为第一尺寸时,应用的显示状态为完整显示;当浏览器窗口的尺寸为第二尺寸时,应用的显示状态为精简显示;当浏览器窗口的尺寸为第三尺寸时,应用的显示状态为缺省显示;其中,第一尺寸大于第二尺寸,第二尺寸大于第三尺寸。
可选地,其中根据修改后的显示状态来改变应用所显示的内容的步骤包括:当显示状态为完整显示时,所显示的应用的内容包括应用的应用图标以及应用名称;当显示状态为精简显示时,所显示的应用的内容包括应用的应用图标,但是不包括应用名称;以及当显示状态为缺省显示时,所显示的应用的内容不包括应用的应用图标和应用名称。
可选地,其中浏览器窗口中显示的内容还包括工具条,该方法还包括:将一个或者多个应用的显示内容同时显示在工具条中;为工具条设置至少两种显示状态以及每种显示状态与浏览器窗口尺寸之间的对应关系;每当检测到浏览器窗口尺寸发生改变时,还根据工具条的显示状态与浏览器窗口尺寸之间的对应关系调整工具条的显示状态。
可选地,还包括:获取浏览器窗口的初始尺寸,根据对应关系确定每一应用的初始显示状态,以及根据初始显示状态显示应用的内容。
根据本发明的另一方面,提供了一种改变浏览器窗口中显示的内容的显示控制设备,显示的内容包括一个或多个应用的显示内容,该显示控制设备包括:一个或多个应用显示控制器,每个应用显示控制器与一个应用相对应,并且适于为每一应用设置至少两种显示状态,以及根据显示状态来控制应用的显示内容;窗口管理器,适于接收每个应用显示控制器设置的显示状态,设置每种显示状态与浏览器窗口尺寸之间的对应关系,并在检测到浏览器窗口尺寸发生改变时,获取浏览器窗口的当前尺寸,并根据每一应用的显示状态与浏览器窗口尺寸之间的对应关系将该应用的当前显示状态通知给每个应用相对应的应用显示控制器。
可选地,其中窗口管理器包括:布局管理器和窗口监听器,其中,窗口监听器适于检测浏览器窗口尺寸,并在检测到浏览器窗口尺寸发生改变时,获取浏览器窗口的当前尺寸,并将当前尺寸传送给布局管理器;以及布局管理器适于设置每种显示状态与浏览器窗口尺寸之间的对应关系,并根据窗口监听器获取的浏览器窗口尺寸以及对应关系,确定应用的显示状态,并将确定的显示状态通知给每个应用相对应的应用显示控制器。
可选地,窗口监听器捕获在浏览器窗口的尺寸发生改变时触发的事件,并处理该事件以获取浏览器窗口的当前尺寸。
可选地,其中每个应用显示控制器为每一应用设置的显示状态包括:完整显示、精简显示和缺省显示。
可选地,其中,当浏览器窗口的尺寸为第一尺寸时,应用显示控制器将应用显示状态设置为完整显示;当浏览器窗口的尺寸为第二尺寸时,应用显示控制器将应用的显示状态设置为精简显示;当浏览器窗口的尺寸为第三尺寸时,应用显示控制器将应用的显示状态设置为缺省显示;其中,第一尺寸大于第二尺寸,第二尺寸大于第三尺寸。
可选地,其中:当应用的显示状态为完整显示时,所显示的应用的内容包括应用的应用图标以及应用名称;当应用的显示状态为精简显示时,所显示的应用的内容包括应用的应用图标,但是不包括应用名称;以及当应用的显示状态为缺省显示时,所显示的应用的内容不包括应用的应用图标和应用名称。
可选地,其中浏览器窗口中显示的内容还包括工具条,显示控制设备还包括:工具条显示控制器,其为工具条设置至少两种显示状态以及每种显示状态与浏览器窗口尺寸之间的对应关系,并根据窗口管理器的通知控制工具条的显示状态;其中,窗口管理器每当检测到浏览器窗口尺寸发生改变时,还根据工具条的显示状态与浏览器窗口尺寸之间的对应关系通知工具条显示控制器调整工具条的显示状态。
可选地,窗口管理器还适于获取浏览器窗口的初始尺寸,根据对应关系确定每一应用的初始显示状态,以及根据初始显示状态显示应用的内容。
根据本发明的显示控制设备及方法,可以根据浏览器窗口的当前尺寸,为浏览器窗口中的显示内容设置不同的显示状态,由此解决了当浏览器窗口尺寸改变时无法自适应地调整浏览器窗口中的显示的内容的问题,取得了能够根据浏览器窗口尺寸的改变自适应地调整浏览器窗口中的显示的内容的有益效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明提供了一种改变浏览器窗口中显示的内容的显示控制设备及方法,可以解决现有技术的浏览器窗口中的显示内容无法自适应调整的问题。
图1示出了根据本发明的一个实施例提供的改变浏览器窗口中显示的内容的显示控制设备的结构示意图。其中,浏览器窗口中显示的内容包括一个或多个应用的显示内容,如图1所示,该显示控制设备100包括:一个或多个应用显示控制器110以及窗口管理器120。其中,应用显示控制器110的数量与浏览器窗口中所显示的应用的数量相对应。每个应用显示控制器110与一个应用相对应,并且适于为每一应用设置至少两种显示状态,以及根据显示状态来控制应用在浏览器窗口中的显示内容。这里,每个应用显示控制器110为每一应用设置的显示状态可以包括:完整显示、精简显示和缺省显示。应用显示控制器110将这三种显示状态传送给窗口管理器120。窗口管理器120接收每个应用显示控制器110所传送的为相应的应用设置的显示状态,并设置显示状态与浏览器窗口尺寸之间的对应关系,在检测到浏览器窗口尺寸发生改变时,获取浏览器窗口的当前尺寸,并根据每一应用的显示状态与浏览器窗口尺寸之间的对应关系确定该应用的当前显示状态,并将该应用的当前显示状态通知给每个应用相对应的应用显示控制器110,由应用显示控制器110根据窗口管理器120的通知,在浏览器窗口显示应用的当前显示状态对应的显示内容。
窗口管理器120设置的每种显示状态与浏览器窗口尺寸之间的对应关系可以包括:当浏览器窗口的尺寸为大于第一阈值的第一尺寸时,通知应用显示控制器110将应用显示状态设置为完整显示;当浏览器窗口的尺寸为介于第一阈值和第二阈值之间的第二尺寸时,通知应用显示控制器110将应用的显示状态设置为精简显示;当浏览器窗口的尺寸为小于第二阈值的第三尺寸时,通知应用显示控制器110将应用的显示状态设置为缺省显示;其中,第一阈值大于第二阈值。相应地,当窗口管理器120通知应用显示控制器110应用的显示状态为完整显示时,应用显示控制器110控制在浏览器窗口所显示的应用的内容包括应用的应用图标以及应用名称;当窗口管理器120通知应用显示控制器110应用的显示状态为精简显示时,应用显示控制器110控制在浏览器窗口所显示的应用的内容包括应用的应用图标,但是不包括应用名称;以及当窗口管理器120通知应用显示控制器110应用的显示状态为缺省显示时,应用显示控制器110控制在浏览器窗口所显示的应用的内容不包括应用的应用图标和应用名称。
可选地,窗口管理器120包括布局管理器121和窗口监听器122。其中,窗口监听器122检测当前浏览器窗口尺寸,并在检测到当前浏览器窗口尺寸发生改变时,获取浏览器窗口的当前尺寸,并将浏览器窗口的当前尺寸传送给布局管理器121。具体地,窗口监听器122可以通过捕获在浏览器窗口的当前尺寸发生改变时所触发的事件,并处理该事件来获取浏览器窗口的当前尺寸。具体而言,在处理该事件时,通过监听该事件并获取事件中包含的浏览器窗口的当前尺寸信息来检测浏览器窗口的尺寸。布局管理器121设置每种显示状态与浏览器窗口尺寸之间的对应关系,并根据窗口监听器122获取的浏览器窗口尺寸以及显示状态与浏览器窗口尺寸之间的对应关系,确定应用的显示状态,将所确定的显示状态通知给每个应用相对应的应用显示控制器110。
在上述实施例中的起始阶段中,窗口管理器120还获取浏览器窗口的初始尺寸,根据显示状态与浏览器窗口尺寸之间的对应关系确定每一应用的初始显示状态,以及根据所确定的初始显示状态在浏览器窗口显示应用的内容,从而实现了浏览器窗口的初始显示。
下面通过具体例子详细说明图1所示的显示控制设备的工作过程。
首先,每个应用显示控制器110为对应的应用设置一个显示布局属性,由参数supportedLayout来表示,例如,可以通过如下代码实现:
varmyapp=newU8App();
myapp.supportedLayout=[‘none’,‘mini’,‘full’];
在上面的代码中,对于myapp这个应用,参数supportedLayout定义了myapp这个应用具有的三种显示状态:‘none’,‘mini’,‘full’,其中,‘none’代表缺省显示状态,‘mini’代表精简显示状态,‘full’代表完整显示状态。
应用显示控制器110将上面设置的显示布局属性参数supportedLayout中定义的三种显示状态传送给窗口管理器120,窗口管理器120在加载该应用显示控制器110对应的应用时会对显示布局属性参数supportedLayout中定义的三种显示状态进行存储。具体地,窗口管理器120加载应用时可以通过如下代码实现:
然后,窗口管理器120中的窗口监听器122对当前浏览器窗口尺寸进行检测,并在检测到当前浏览器窗口尺寸发生改变时,获取浏览器窗口的当前尺寸,并将浏览器窗口的当前尺寸传送给布局管理器121。具体地,窗口监听器122可以通过捕获在浏览器窗口的尺寸发生改变时触发的事件,并处理该事件以获取浏览器窗口的当前尺寸。例如,当浏览器窗口的尺寸发生改变时将触发APIwindow.onresize事件,窗口监听器122通过监听APIwindow.onresize事件即可达到实时监控浏览器窗口大小的功能。具体地,窗口监听器122监听APIwindow.onresize事件可通过如下代码实现:
window.onload=window.onresize=function(event){
layoutManger.reflow();
}
通过上述方式,窗口监听器122就可以达到实时监测浏览器窗口大小的效果。每当窗口监听器122监测到浏览器窗口大小发生改变时,就获取浏览器窗口的当前尺寸,并将浏览器窗口的当前尺寸传送给布局管理器121,由布局管理器121根据预先设置的显示状态与浏览器窗口尺寸之间的对应关系,确定应用的显示状态。
布局管理器121需要预先设置应用的显示状态与浏览器窗口尺寸之间的对应关系,例如,可以设置当浏览器窗口宽度大于1280像素时,应用的显示状态为完整显示;当浏览器窗口宽度大于800像素小于1280像素时,应用的显示状态为精简显示;当浏览器窗口宽度小于800像素时,应用的显示状态为缺省显示。设置应用的显示状态与浏览器窗口尺寸之间的对应关系时可以通过如下代码实现:
布局管理器121在接收到窗口监听器122传送过来的浏览器窗口的当前尺寸后,根据上述设置的显示状态与浏览器窗口尺寸之间的对应关系,确定与浏览器窗口的当前尺寸对应的应用的显示状态,并将所确定的应用的显示状态通知给每个应用相对应的应用显示控制器110,由应用显示控制器110根据显示状态进行显示。例如,当浏览器窗口宽度为1300像素时,确定应用的显示状态为完整显示,并通知应用显示控制器110在浏览器窗口以完整显示方式显示应用,这时,可以尽可能多地显示应用的内容,例如,如图2a所示,显示了“我的部落”、“游戏攻略”等应用的应用图标、应用名称;当浏览器窗口宽度为900像素时,确定应用的显示状态为精简显示,并通知应用显示控制器110在浏览器窗口以精简显示方式显示应用,只显示应用的部分内容,例如,如图2b所示,显示了“我的部落”、“游戏攻略”等应用的应用图标,而没有显示其应用名称;当浏览器窗口宽度为600像素时,确定应用的显示状态为缺省显示,并通知应用显示控制器110在浏览器窗口以缺省显示方式显示应用,这时,不显示应用的内容,即,暂时隐藏应用。上面描述的应用显示控制器110根据布局管理器121的通知,控制应用的显示状态时,可通过如下代码实现:
可选地,在本实施例的起始阶段中,窗口监听器122还用于获取浏览器窗口的初始尺寸,并通知布局管理器121根据预先设置的对应关系确定每一应用的初始显示状态,并根据初始显示状态在浏览器窗口显示应用的内容,从而实现浏览器窗口的初始显示。
另外,在一般情况下,浏览器窗口中的应用都是显示在工具条上的,因此,当应用的显示状态发生改变时,工具条的显示状态也可以相应地发生改变。因此,本实施例中的显示控制设备还可以包括工具条显示控制器,其为工具条设置至少两种(例如三种)显示状态,并定义在每种显示状态下的工具条显示方式,并根据窗口管理器120的通知控制工具条的显示状态。窗口管理器120(例如,通过布局管理器121)除了设置应用的显示状态与浏览器窗口尺寸之间的对应关系之外,还设置工具条的显示状态与浏览器窗口尺寸之间的对应关系。因此,每当窗口管理器120检测到浏览器窗口尺寸发生改变时,还根据工具条的显示状态与浏览器窗口尺寸之间的对应关系通知工具条显示控制器工具条的新显示状态。具体地,对于工具条显示状态的设置和控制过程,可参照上述对于应用显示状态的设置和控制过程实现。例如,可以设置当浏览器窗口宽度大于1280像素时,工具条的显示状态为以第一显示尺寸进行显示,此时工具条上的应用的显示状态对应地为完整显示;当浏览器窗口宽度大于800像素小于1280像素时,工具条的显示状态为以第二显示尺寸进行显示,此时工具条上的应用的显示状态对应地为精简显示;当浏览器窗口宽度小于800像素时,工具条的显示状态为以第三显示尺寸进行显示,此时工具条上的应用的显示状态对应地为缺省显示。其中,第一显示尺寸大于第二显示尺寸,第二显示尺寸大于第三显示尺寸。
图3示出了本发明实施例提供的改变浏览器窗口中显示的内容的方法流程图,其中,浏览器窗口中显示的内容包括一个或多个应用的显示内容。如图3所示,该方法始于步骤S310,在步骤S310中,为每一应用设置至少两种显示状态以及每种显示状态与浏览器窗口尺寸之间的对应关系。具体地,可以通过前面所述的方式,为每一应用设置一个显示布局属性,由表示该显示布局属性的参数supportedLayout来定义每一应用包含的显示状态,显示状态例如包括完整显示、精简显示、和缺省显示。每种显示状态与浏览器窗口尺寸之间的对应关系可以包括:当浏览器窗口的尺寸为大于第一阈值的第一尺寸时,应用的显示状态为完整显示;当浏览器窗口的尺寸为介于第一阈值与第二阈值之间的第二尺寸时,应用的显示状态为精简显示;当浏览器窗口的尺寸为小于第二阈值的第三尺寸时,应用的显示状态为缺省显示;其中,第一阈值大于第二阈值,第一阈值和第二阈值可以根据需要进行设置,例如第一阈值设置为1200像素,第二阈值设置为700像素。具体地,可参照前面关于布局管理器121的描述。一般而言,在步骤S310中,可以由图1中的与每个应用相对应的应用显示控制器110为相应应用来设置应用的显示状态,并且由布局管理器122来设置每种显示状态与浏览器窗口尺寸之间的对应关系。
在上述步骤S310中设置了每一应用的显示状态以及显示状态与浏览器窗口尺寸之间的对应关系之后,在步骤S320中,每当检测到浏览器窗口尺寸发生改变时,获取浏览器窗口的当前尺寸,并根据每一应用的显示状态与浏览器窗口尺寸之间的对应关系修改应用的显示状态。
具体地,持续监测浏览器窗口的尺寸,以判断浏览器窗口的尺寸是否发生改变。例如,可以通过捕获在浏览器窗口的尺寸发生改变时触发的事件,并处理该事件以获取浏览器窗口的当前尺寸。例如,可以参照前面所述的窗口监听器捕获APIwindow.onresize事件的实现方式实现。当检测到浏览器窗口尺寸发生改变时,根据步骤S310中设置的显示状态与浏览器窗口尺寸之间的对应关系,修改与浏览器窗口的当前尺寸对应的应用的显示状态。一般而言,步骤S320可以由图1中的窗口管理器120,尤其是窗口管理器中的窗口监听器122来执行。
随后,在步骤S330中,根据修改后的应用的显示状态来改变该应用在浏览器中所显示的内容。
具体地,在步骤S330中,根据步骤S320中确定的与浏览器窗口的当前尺寸对应的应用显示状态来显示应用的内容,具体显示方式可以参照上述的应用显示控制器110中的实现方式。例如,当显示状态为完整显示时,所显示的应用的内容包括应用的应用图标以及应用名称;当显示状态为精简显示时,所显示的应用的内容包括应用的应用图标,但是不包括应用名称;以及当显示状态为缺省显示时,所显示的应用的内容不包括应用的应用图标和应用名称。
进一步地,在该方法的起始阶段,还包括以下步骤:获取浏览器窗口的初始尺寸,根据显示状态与浏览器窗口尺寸之间的对应关系确定每一应用的初始显示状态,这个步骤可以由图1中的布局管理器121来执行。随后,由相应应用的应用显示控制器110根据初始显示状态显示应用的内容。
另外,在一般情况下,浏览器窗口中的应用都是显示在工具条上的,因此,当应用的显示状态发生改变时,工具条的显示状态也应该相应地发生改变。因此,本实施例中的方法还可以进一步包括以下步骤:将一个或者多个应用的显示内容同时显示在工具条中;为工具条设置至少两种(例如三种)显示状态以及每种显示状态与浏览器窗口尺寸之间的对应关系;每当检测到浏览器窗口尺寸发生改变时,还根据工具条的显示状态与浏览器窗口尺寸之间的对应关系调整工具条的显示状态。
根据本发明的显示控制设备及方法,可以根据浏览器窗口的当前尺寸,为浏览器窗口中的显示内容设置不同的显示状态,由此解决了当浏览器窗口尺寸改变时无法自适应调整浏览器窗口中的显示内容的问题,实现了能够根据浏览器窗口尺寸的改变自适应地调整浏览器窗口中的显示内容的有益效果。由于本发明中,当浏览器窗口尺寸发生变化时,浏览器窗口中显示的内容也相应地发生变化,例如,当浏览器窗口缩小时,浏览器窗口中所显示的应用只包含应用图标,而不包含应用名称,这样,可以在较小的浏览器窗口中实现全部应用图标的展现,从而使得用户可以点击自己需要的图标,而不会出现由于浏览器窗口较小,应用显示不全而造成想要点击的应用没有显示出来的情况。这种实现方式尤其适用于交互性较强的场合,例如游戏中的应用。而且,当浏览器窗口放大时,还可以恢复对应用的完整显示,从而方便新手了解各个应用图标的具体功能。
另外,本发明的显示控制设备及方法通过监听浏览器窗口大小改变时所触发的事件,可以达到实时监测的效果,并且,根据预先设置的对应关系能够自动改变应用的显示状态。也就是说,当本发明中的浏览器窗口大小改变时,应用的显示状态能够自动地根据窗口大小进行变化,用户无需刷新页面,从而提高了用户体验。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的显示控制设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。