基于编程语言将web组件悬浮于桌面的方法和电子设备与流程

文档序号:18100532发布日期:2019-07-06 11:19阅读:211来源:国知局
基于编程语言将web组件悬浮于桌面的方法和电子设备与流程

本发明涉及编程语言领域,尤其涉及基于编程语言将web组件悬浮于桌面的方法和电子设备。



背景技术:

现有的web组件均通过页面容器显示于桌面中。其中,web组件是指对web的数据和方法进行封装实体,可以包含javabean组件,从而方便地进行业务逻辑处理;页面容器是一种可添加页面的容器对象,通过页面容器能够实现小区域的翻页效果或幻灯片效果,并且,通过页面容器便能使得web组件能够有效而稳定显示桌面中。

然而,当通过页面容器显示web组件时,无法直接悬浮web组件。而只有对web组件进行悬浮处理,才能够进一步判断鼠标点击操作是否穿透web组件。也就是说,对web组件进行悬浮处理是判断鼠标点击操作是否穿透web组件的前提,但是现有技术并不能实现对web组件进行悬浮处理。

因此,现有技术还有待于改进和发展。



技术实现要素:

鉴于上述现有技术的不足,本发明的目的在于提供基于编程语言将web组件悬浮于桌面的方法和电子设备,旨在解决现有技术无法对web组件进行悬浮处理的问题。

本发明的技术方案如下:

一种基于编程语言将web组件悬浮于桌面的方法,其包括步骤:

a、当ipcrenderer接收到web组件被触发的指令时,向主进程发送同步或者异步的信息;

b、在主进程接收信息后,创建一个悬浮事件,并定义悬浮事件的属性参数;

c、接收用户对悬浮事件进行渲染的指令,对悬浮事件进行渲染,以得到渲染后的悬浮事件,并通过所述悬浮事件对所述web组件进行悬浮处理,以将所述web组件悬浮于桌面中。

优选地,所述主进程为ipcmain。

优选地,所述定义悬浮事件的属性参数的步骤包括:

定义边框信息、拖动信息、背景信息、置顶信息、阴影信息和隐藏信息。

优选地,所述定义边框信息为将边框信息定义为无边框;

所述定义拖动信息为将组件信息定义为不可拖动;

所述定义背景信息为将背景信息定义为透明;

所述定义置顶信息为将置顶信息定义为置顶;

所述定义阴影信息为将阴影信息定义为隐藏阴影;

以及所述定义隐藏信息为将隐藏信息定义为隐藏于桌面底部任务栏。

优选地,所述步骤c之后包括:

d1、获取鼠标点击桌面时对应的桌面坐标;

d2、通过一定时器定时将获取到的桌面坐标发送至所述主进程。

优选地,所述步骤d2之后包括:

e、当主进程接收到定时器发送的桌面坐标时,通过捕获函数获取所述桌面坐标所在区域,并将其作为悬浮组件的渲染区域。

优选地,所述步骤e之后包括:

通过主进程将渲染区域转化为16进制格式的字符串,以判断渲染区域是否透明;

当渲染区域为透明时,忽略悬浮组件的鼠标点击事件;

当渲染区域不为透明时,则开启悬浮组件的鼠标点击事件。

本发明还提供一种电子设备,其包括:

处理器,适于实现各指令,以及

存储设备,适于存储多条指令,所述指令适于由处理器加载并执行:

当ipcrenderer接收到web组件被触发的指令时,向主进程发送同步或者异步的信息;

在主进程接收信息后,创建一个悬浮事件,并定义悬浮事件的属性参数;

接收用户对悬浮事件进行渲染的指令,对悬浮事件进行渲染,以得到渲染后的悬浮事件,并通过所述悬浮事件对所述web组件进行悬浮处理,以将所述web组件悬浮于桌面中。

本发明还提供一种计算机程序产品,其中,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被处理器执行时,使所述处理器执行所述的基于编程语言将web组件悬浮于桌面的方法。

本发明还提供一种非易失性计算机可读存储介质,其特征在于,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行所述的基于编程语言将web组件悬浮于桌面的方法。

有益效果:通过本发明提供的方法,先判断web组件是否被触发,如果是,则向主进程发送同步或者异步的信息;然后,主进程将自动创建一个悬浮事件,以及对悬浮事件的属性信息进行定义处理;再对悬浮事件进行渲染,最后通过渲染处理后的悬浮事件对web组件悬浮处理,这样,便可以将web组件悬浮于桌面。本发明不仅解决了现有技术无法直接悬浮web组件的难题,本发明的方法还具有简单和高效的特点,此外,本发明提供的方法还具有适用性强的特点,即本发明提供的方法能够对任意一个web组件进行悬浮处理。

附图说明

图1为本发明基于编程语言将web组件悬浮于桌面的方法较佳实施例的流程图。

图2为本发明电子设备较佳实施例的结构框图。

具体实施方式

本发明提供基于编程语言将web组件悬浮于桌面的方法和电子设备,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

请参阅图1,一种基于编程语言将web组件悬浮于桌面的方法,其包括步骤:

s1、当ipcrenderer接收到web组件被触发的指令时,向主进程发送同步或者异步的信息;

s2、在主进程接收信息后,创建一个悬浮事件,并定义悬浮事件的属性参数;

s3、接收用户对悬浮事件进行渲染的指令,对悬浮事件进行渲染,以得到渲染后的悬浮事件,并通过所述悬浮事件对所述web组件进行悬浮处理,以将所述web组件悬浮于桌面中。

通过本发明提供的方法,能够有效而稳定地对web组件进行悬浮处理,以达到将web组件悬浮于桌面的目的。此外,本发明是利用电子设备自身的处理器执行所有步骤,因此,具有快速和便捷的特点。

所述步骤s1中,所述ipcrenderer一个eventemitter类的实例。它提供了有限的方法,可以从渲染进程向主进程发送同步或异步消息,ipcrenderer也可以收到主进程的信息。

其中,ipcrenderer的监听方法包括以下几种:ipcrenderer.removelistener、ipcrenderer.on和ipcrenderer.once。上述的监听方法较为类似,用户可以选择任意一种监听方法。

ipcrenderer向主进程发送同步信息或者异步信息的方法包括以下几种:ipcrenderer.send、ipcrenderer.sendsync和ipcrenderer.sendtohost。同样的,上述向主进程发送同步信息或者异步信息的方法也较为类似,用户可以选择任意一种发送方法。

关于web组件已在背景技术中详细介绍,故此不做赘述。

所述接收到web组件被触发的指令具体是指,web组件接收到移动、点击或者尺寸改变(包括缩小和放大)的指令。也就是说,通过上述任意一种监听函数对web组件进行监听,从而判断web组件是否被触发,如果触发,则通过任意一种发送函数向主进程发送同步或者异步的信息。

优选地,设置监听的时间间隔,并根据时间间隔定时监听web组件。具体的说,先定义一个时间常数,且时间常数的单位为秒,监听函数便可以根据定义的时间常数定时监听web组件。这样,不仅能够达到定时对web组件进行监听的目的,还不易错过web组件被触发的指令。

优选地,所述时间间隔为2s、5s或者10s。这样,监听函数便不易错过web组件被触发的指令,还能及时对web组件进行监听。

所述步骤s2中,在主进程接收到ipcrenderer发送的同步或者异步信息后,将自动创建(生成)一个悬浮事件,以及对悬浮事件的属性信息进行定义。

其中,所述主进程也指主函数,许多命令式程序设计语言里,主进程是程序开始运行的地方,或者是指主函数开始运行的地方。

优选地,所述主进程为ipcmain。

ipcmain是eventemitter类的一个实例。当使用主进程中时,它处理从渲染器进程(即ipcrenderer)发送的异步和同步信息。更具体地说,每个electron应用有且只有一个主进程,在执行electron.命令后,electron会运行当前目录的下package.json文件中main字段指定的文件。也就是说,运行该文件的进程既是主进程(主函数)。而运行在主进程中的脚本可以创建一个窗口,并传入url,让这个窗口加载一个网页来展示图形界面。

优选地,所述定义悬浮事件的属性参数的步骤包括:

定义边框信息、拖动信息、背景信息、置顶信息、阴影信息和隐藏信息。

其中,定义边框信息的目的在于控制悬浮事件的边框长度或厚度,例如,将边框长度定义为0.5cm,或者将边框厚度定义为0.2cm等等。需要说明的是,定义悬浮事件的属性信息实际上是指定义web组件的属性信息,也就是说,将边框长度定义为0.5cm,实际上是将web组件的边框长度定义为0.5cm。同样的,后续中的定义拖动信息、背景信息、置顶信息、阴影信息和隐藏信息均是指定义web组件的属性信息,后文将不再说明。

定义拖动信息的目的在于改变悬浮事件的拖动属性。其中,可将拖动信息定义不可拖动或者将拖动信息定义为可拖动,当然,也可以将拖动信息定义为固定点拖动,即用户只能点击固定点才可对悬浮事件进行拖动,用户点击其它位置时,无法拖动悬浮事件。

定义背景信息的目的在于改变web组件的透明度。其中,可将背景信息定义为不透明(透明度为0)、透明(透明度为100%)或者半透明(透明度为50%)。当然,用户也自己自由设置透明度,例如,将透明度设置为30%或者将透明度设置为70%等等。

定义置顶信息是为了方便将web组件显示于桌面的固定位置。其中,可将置顶信息定义为不置顶,以及定义为置顶。如果将置顶信息定义为不置顶,则代表将web组件显示于桌面的底部,如果将置顶信息定义为置顶,则代表将web组件显示于桌面的顶部。

定义阴影信息的目的与定义背景信息的目的相似,均是为了让悬浮事件清楚地显示于桌面中。其中,可将阴影信息定义为有阴影和无阴影。

定义隐藏信息目的在于方便隐藏悬浮组件,这样,便无法直接查看悬浮组件,提高了隐秘性。其中,可将隐藏信息定义为隐藏或者将隐藏信息定义为不隐藏。优选地,用户还可以定义隐藏信息的具体位置,例如,将隐藏信息定义为隐藏于桌面的右上角或者将隐藏信息定义为隐藏于桌面的中心位置等等。

优选地,通过frame函数定义所述边框信息;通过resizable定义拖动信息;通过transparent定义透明信息;通过alwaysontop定义置顶信息;通过hasshadow定义阴影信息;以及通过skiptaskbar函数定义隐藏信息。

为了更好达到本发明的目的,因此,本发明最优选的方案是将悬浮事件的具体属性信息定义如下:

所述定义边框信息为将边框信息定义为无边框;

所述定义拖动信息为将组件信息定义为不可拖动;

所述定义背景信息为将背景信息定义为透明;

所述定义置顶信息为将置顶信息定义为置顶;

所述定义阴影信息为将阴影信息定义为隐藏阴影;

以及所述定义隐藏信息为将隐藏信息定义为隐藏于桌面底部任务栏。

这样,便可以将web组件的属性信息定义为:无边框、不可拖动、透明、置顶、隐藏阴影和隐藏于桌面底部任务栏。

所述步骤s3中,在定义悬浮事件的属性信息后,便可对悬浮事件进行渲染处理,从而得到渲染后的悬浮事件。

在得到渲染后的悬浮事件后,便可以通过悬浮事件对web组件进行悬浮处理,使得web组件能够悬浮于桌面中。

优选地,当对web组件进行悬浮处理时,可通过鼠标调整web组件的位置信息,以将web组件显示于目标位置中。

例如,将web组件显示桌面的正中心处,或者将web组件显示于桌面的右上角等等。

优选地,所述步骤s3之后包括:

s41、获取鼠标点击桌面时对应的桌面坐标;

s42、通过一定时器定时将获取到的桌面坐标发送至所述主进程。

所述步骤s41中,所述桌面坐标是指以桌面的中心点为坐标原点建立的平面直角坐标系,且该平面直角坐标系的单位长度为1像素。这样,桌面上的任意一点均有唯一的桌面坐标,当鼠标点击桌面上的任意一点时,均可准确获取鼠标点击的桌面坐标。

所述步骤s42中,所述定时器是一种能够定时执行进程的函数,通过定时器便可以定时将桌面坐标发送至主进程。

优选地,所述定时器的执行间隔为0.2s。这样,便可以在保证定时向主进程发送桌面坐标,还能保证及时性。

优选地,所述步骤s42之后包括:

s5、当主进程接收到定时器发送的桌面坐标时,通过捕获函数获取所述桌面坐标所在区域,并将其作为悬浮组件的渲染区域。

所述捕获函数具体是指screen函数,当用户控制鼠标在桌面移动时,通过screen函数捕获鼠标位置的1像素大小的渲染区域,并判断渲染区域是否透明,并根据判断结果,做进一步的操作(具体的操作流程将在后续步骤中详述)。

优选地,所述渲染区域以桌面坐标为圆心,且半径为2像素的圆形区域。这样,便可以扩大捕捉范围,从而精确判断鼠标是否点击web组件。

优选地,所述渲染区域为nativeimage类型的image图片。这样,能够方便对渲染区域进行进一步地处理。具体的说,能够快速将渲染区域转化为字符串,从而更加方便判断渲染区域是否为透明。

优选地,所述步骤s5之后包括:

通过主进程将渲染区域转化为16进制格式的字符串,以判断渲染区域是否透明;

当渲染区域为透明时,忽略悬浮组件的鼠标点击事件;

当渲染区域不为透明时,则开启悬浮组件的鼠标点击事件。

具体地说,如果字符串包含“00000000”则表示渲染区域为透明,即忽略浮组件的鼠标点击事件;如果字符串不包含“00000000”则表示渲染区域为不透明,则开启悬浮组件的鼠标点击事件。这样,通过对字符串判断渲染区域是否透明,能够达到快速和效率高的目的。

请参阅图2,本发明还提供一种电子设备10,其包括:

处理器110,适于实现各指令,以及

存储设备120,适于存储多条指令,所述指令适于由处理器加载并执行:

当ipcrenderer接收到web组件被触发的指令时,向主进程发送同步或者异步的信息;

在主进程接收信息后,创建一个悬浮事件,并定义悬浮事件的属性参数;

接收用户对悬浮事件进行渲染的指令,对悬浮事件进行渲染,以得到渲染后的悬浮事件,并通过所述悬浮事件对所述web组件进行悬浮处理,以将所述web组件悬浮于桌面中。

所述处理器110可以为通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、单片机、arm(acornriscmachine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。还有,处理器还可以是任何传统处理器、微处理器或状态机。处理器也可以被实现为计算设备的组合,例如,dsp和微处理器的组合、多个微处理器、一个或多个微处理器结合dsp核、任何其它这种配置。

存储设备120作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的基于编程语言将web组件悬浮于桌面的方法对应的程序指令。处理器通过运行存储在存储设备中的非易失性软件程序、指令以及单元,从而执行基于编程语言将web组件悬浮于桌面的各种功能应用以及数据处理,即实现上述方法实施例中的基于编程语言将web组件悬浮于桌面的方法。

本发明还提供一种计算机程序产品,其中,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被处理器执行时,使所述处理器执行所述的基于编程语言将web组件悬浮于桌面的方法。

本发明还提供一种非易失性计算机可读存储介质,其特征在于,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行所述的基于编程语言将web组件悬浮于桌面的方法。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1