实现弹出窗口的自由移动的方法

文档序号:9489196阅读:854来源:国知局
实现弹出窗口的自由移动的方法
【技术领域】
[0001]本发明涉及计算机领域,更具体地涉及一种实现弹出窗口的自由移动的方法。
【背景技术】
[0002]网页浏览器是一种用于显示网页服务器或文件系统内的文件,并使能用户与这些文件交互的软件。网页浏览器主要通过超文本传输协议(Hypertext transfer protocol,HTTP)与网页服务器交互并获取网页。个人电脑上常用的网页浏览器包括微软公司的Internet Explorer、网景公司的Firefox、谷歌公司的Chrome、苹果公司的Safari等。
[0003]网页浏览器包括浏览器内核(也称为浏览器核心)和浏览器外壳两部分。浏览器内核也就是网页浏览器所采用的渲染引擎,其负责网页内容的获取、网页编写语法的解释、以及网页显示方式的计算等。不同的浏览器内核对网页编写语法的解释不同,因此同一网页在具有不同浏览器内核的网页浏览器里的渲染(或显示)效果通常是不同的。浏览器内核通常由诸如C、C++之类的编程语言实现。浏览器外壳是一个面向用户的界面,用于向用户提供网页浏览器能够实现的各种功能,包括菜单、工具栏等。在浏览器外壳中,有些功能需要利用浏览器内核来实现,比如保存网页上的图片;而有些功能不需要利用浏览器内核来实现,比如前进、后退功能。浏览器外壳通常由诸如C#、C++之类的编程语言结合诸如Java Script、VB Script之类的脚本语言实现。
[0004]网页浏览器分为原生浏览器和套壳浏览器两种。原生浏览器是指诸如微软公司的Internet Explorer、网景公司的Firefox、谷歌公司的Chrome、苹果公司的Safari等的拥有完整独立内核的浏览器。套壳浏览器是指在原生浏览器的浏览器内核上添加自定义的包含多种辅助功能的浏览器外壳,并改变其名称与外观的浏览器,如360浏览器、腾讯QQ浏览器、搜狗浏览器等。

【发明内容】

[0005]本发明提供了一种实现弹出窗口的自由移动的方法。
[0006]根据本发明实施例的实现弹出窗口的自由移动的方法包括:当需要在当前浏览器窗口中显示弹出窗口时,浏览器外壳向浏览器内核发送弹出窗口的内容信息、以及浏览器窗口创建请求;浏览器内核响应于浏览器窗口创建请求,根据弹出窗口的内容信息创建不同于当前浏览器窗口的新浏览器窗口,作为弹出窗口 ;浏览器外壳按照预定的显示格式显示新浏览器窗口。
[0007]本发明通过生成新浏览器窗口作为弹出窗口能够实现弹出窗口的自由移动。换句话说,本发明通过直接显示新浏览器窗口作为弹出窗口,实现了弹出窗口的自由移动。
【附图说明】
[0008]从下面结合附图对本发明的【具体实施方式】的描述中可以更好地理解本发明,其中:
[0009]图1是根据本发明第一实施例的实现弹出窗口的自由移动的方法的流程图;
[0010]图2是根据本发明第二实施例的实现弹出窗口的自由移动的方法的流程图;
[0011]图3A是传统网页浏览器显示的弹出窗口的示意图;
[0012]图3B是能够实现根据本发明的方法的网页浏览器显示的弹出窗口的示意图;
[0013]图4是根据本发明第一实施例的步骤S108的子步骤的流程图;以及
[0014]图5是根据本发明第二实施例的步骤S108的子步骤的流程图。
【具体实施方式】
[0015]下面将详细描述本发明的各个方面的特征和示例性实施例。在下面的详细描述中,提出了许多具体细节,以便提供对本发明的全面理解。但是,对于本领域技术人员来说很明显的是,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明的更好的理解。本发明决不限于下面所提出的任何具体配置和算法,而是在不脱离本发明的精神的前提下覆盖了元素、部件和算法的任何修改、替换和改进。在附图和下面的描述中,没有示出公知的结构和技术,以便避免对本发明造成不必要的模糊。
[0016]在包括原生浏览器和套壳浏览器在内的传统网页浏览器中,弹出窗口通常只能在当前浏览器窗口中的特定位置显示或者只能按照预定的方式在当前浏览器窗口中移动,而不能在当前浏览器窗口以外的区域在用户的操纵下移动和/或缩放、或者在当前浏览器窗口中在用户的操纵下移动和/或缩放。
[0017]图3A是传统网页浏览器显示的弹出窗口的示意图。如图3A所示,在传统网页浏览器的情况下,弹出窗口 302A只能在当前浏览器窗口 301中的固定位置(例如,图3A中所示的当前浏览器窗口 301的右下角)显示或者在当前浏览器窗口 301中按照预定的方式移动,而不能在当前浏览器窗口 301中或者当前浏览器窗口 301以外的区域在用户的操纵下移动和/或缩放。为了实现弹出窗口的自由移动,本发明提供了一种实现弹出窗口的自由移动的方法。
[0018]图1示出了根据本发明第一实施例的实现弹出窗口的自由移动的方法。如图1所示,该实现弹出窗口的自由移动的方法包括:S102,当需要在当前浏览器窗口中显示弹出窗口时,浏览器外壳向浏览器内核发送弹出窗口的内容信息、以及浏览器窗口创建请求;S104,浏览器内核响应于浏览器窗口创建请求,根据弹出窗口的内容信息创建不同于当前浏览器窗口的新浏览器窗口,作为弹出窗口;以及S106,浏览器外壳按照预定的显示格式显示新浏览器窗口。
[0019]图3B是能够实现根据本发明的方法的网页浏览器显示的弹出窗口的示意图。如图3B所示,在能够实现根据本发明的方法的网页浏览器的情况下,弹出窗口是由浏览器内核创建的不同于当前浏览器窗口 301的新浏览器窗口 302B,所以弹出窗口可以在当前浏览器窗口 301中或者在当前浏览器窗口 301以外的区域在用户的操纵下移动和/或缩放。
[0020]在本实施例中,浏览器外壳除了向浏览器内核发送弹出窗口的内容信息外,还可以向浏览器内核发送规定弹出窗口(即,新浏览器窗口)的样式类型的样式信息。这里,浏览器外壳可以根据弹出窗口的内容信息来确定弹出窗口的样式类型或者可以预先规定弹出窗口的样式类型,然后将规定弹出窗口的样式类型的样式信息发送给浏览器内核。接着,浏览器内核可以根据接收自浏览器外壳的弹出窗口的内容信息和样式信息来创建新浏览器窗口。
[0021]这里,定义了弹出窗口(即,新浏览器窗口)的三种样式类型:模式窗,即用户必须在关闭弹出窗口后,才能继续对当前浏览器窗口进行操作(例如,对当前浏览器窗口进行滚动、移动、缩放、关闭、最小化、恢复等);层叠窗,即用户可以随意改变弹出窗口与当前浏览器窗口之间的上下层关系、以及弹出窗口和/或当前浏览器窗口的位置和/或尺寸,并且可以在保持弹出窗口被显示的同时关闭当前浏览器窗口 ;子窗口,即弹出窗口永远被显示在当前浏览器窗口的上层,用户可以随意改变弹出窗口和/或当前浏览器窗口的位置和/或尺寸,但是一旦当前浏览器窗口被关闭弹出窗口同时也被关闭。
[0022]另外,浏览器外壳可以预先规定弹出窗口( S卩,新浏览器窗口 )的显示格式,并且按照该预定的显示格式来显示弹出窗口。具体地,该预定的显示格式包括以下各项中的至少一项:新浏览器窗口的初始显示位置、新浏览器窗口的初始显示尺寸、新浏览器窗口的关闭按钮位置、新浏览器窗口的最小化按钮位置、以及新浏览器窗口的还原按钮位置。
[0023]通过图1所示的方法,在浏览器外壳由诸如C#、C++之类的编程语言结合诸如JavaScript、VB Script之类的脚本语言实现的情况下,浏览器外壳可以响应于用户的操纵,在当前浏览器窗口(例如,图3A和3B中所示的浏览器窗口 301)中或者在当前浏览器窗口以外的区域移动新浏览器窗口(即,弹出窗口,例如图3B中所示的浏览器窗口 302B)和/或对新浏览器窗口的尺寸进行缩小或放大。
[0024]但是,在浏览器外壳完全由诸如Java Script、VB Script之类的脚本语言实现的情况下,图1的方法还不足以实现在用户操纵下在当前浏览器窗口中或者在当前浏览器窗口以外的区域移动新浏览器窗口和/或对新浏览器窗口的尺寸进行缩小或放大。
[0025]图2示出了根据本发明第二实施例的实现弹出窗口的自由移动的方法。在图2所示的方法中,除了包括图1所示的步骤S102-S106以外,还包括以下步骤:S108,当在新浏览器窗口上检测到鼠标事件时,浏览器外壳判断鼠标事件是否是请求移动新浏览器窗口的窗口移位事件;S110,当判断鼠标事件是窗口移位事件时,浏览器外壳将鼠标事件通知给浏览器内核;以及S112,浏览器内核响应于鼠标事件而移动新浏览器窗口。
[0026]这里,将鼠标左键在新浏览器窗口中单击、鼠标左键在新浏览器窗口中单击并且在鼠标左键处于单击状态的同时移动鼠标、鼠标左键在新浏览器窗口中双击、鼠标右键在新浏览器窗口中单击、鼠标右键在新浏览器窗口中单击并且在鼠标右键处于单击状态的同时移动鼠标、鼠标右键在新浏览器窗口中双击等动作统称为鼠标事件。将鼠标左键在新浏览器窗口中单击、和鼠标左键在新浏览器窗口中单击并且在鼠标左键处于单击状态的同时移动鼠标的动作称为鼠标左键单击事件。将鼠标左键在新浏览器窗口中双击的动作称为鼠标左键双击事件。将鼠标右键在新浏览器窗口中单击的动作称为鼠标右键单击事件。
[0027]这里,不定义指代鼠标右键在新浏览器窗口中单击并且在鼠标右键处于单击状态的同时移动鼠标的动作的鼠标右键单击事件、和指代鼠标右键在新浏览器窗口中双击的动作的鼠标右键双击事件,因为这里认为这两种鼠标事件不会触发网页浏览器的任何能够被用户感知的动作。
[0028]如果鼠标左键单击事件或鼠标左键双击事件能够使得新浏览器窗口移动和/或新浏览器窗口的尺寸放大或者缩小,则该鼠标左键单击事件或鼠标左键双击事件是用于请求浏览器内核移动新浏览器窗口的窗口移位事件。
[0029]在浏览器外壳由诸如C#、C++之类的编程语言结合诸如Java Script、VB Script之类的脚本语言实现的情况下,存在位于浏览器窗口上侧的工具条、位于浏览器窗口下侧、左侧和右侧的边框。由于浏览器窗口中的工具条和边框是通过诸如C#、C++之类的编程语言实
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1