本发明属于嵌入式系统下web开发技术领域,涉及webos智能电视中页面之间实时通信技术,具体涉及运用div技术开发webos智能电视前端的方法。
背景技术:
随着智能电视在人们生活中越来越普及,人们对于智能电视的要求越来越高,对于智能电视节目的更新频率越来越快,对于智能电视界面效果要求也越来越高,为了适应现代商品的需求,webos智能电视应运而生。webos智能电视是以linux内核为主体,并将浏览器移植到该操作系统下,并在该浏览器上面运行各种应用程序的一种智能电视。它具有开发简单,便捷,更新快等特点。
在webos智能电视开发ui过程中,遇到很多问题,如:不同页面之间交互比较频繁,各种消息弹框具有不确定性,加载网页慢使得体验不好等等。
技术实现要素:
本发明的目的是为了解决在嵌入式linux设备下,由于浏览器本身以及cpu性能限制,两个不同页面之间无法通信、网页刷新速度慢以及不同js脚本之间调用混乱的问题。提供一种运用div技术开发webos智能电视前端的方法
为了达到上述的技术效果,本发明采取以下技术方案:运用div技术开发webos智能电视前端的方法,它包括以下步骤:
启动共用html:将智能电视所有web页面设计成一个网页,所有页面都放在一个html文件里面,每个页面或者功能模块之间都用div标签隔离开来。
加载常用js文件;将每个页面设计为一个单独的js文件,同时使用类的命名空间将该页面进行封装;然后将每个页面js文件全部导入进同一个html文件中。
消息处理:每个功能模块里面对按键消息进行处理和过滤。
栈机制管理页面:采用栈机制对所有页面进行统一管理,将需要显示的页面压入栈,将不需要显示的页面出栈,并保证栈里面始终有一个显示页面。
热键处理:将所有热键单独封装在一个页面里面,放在window层集中进行处理。
进一步的技术方案是:所有页面共用同一个body。
进一步的技术方案是:所述div标签是html中的段落标签,用于为html文档内大块的内容提供结构和背景的元素。
进一步的技术方案是:对于消息处理,先在对应页面进行处理并进行过滤,对于本页面里面不处理的消息再返回到window层进行相应的处理。
进一步的技术方案是:所述window层是指浏览器窗口对象。
进一步的技术方案是:所述热键包括但不限于音量键、静音键和快捷键。
本发明与现有技术相比,具有以下的有益效果:本发明提出了采用单网页以及div框架开发的机制。所谓div框架,是将不同的功能模块,不同的页面之间用div标签隔离开来,每个div之间互不影响并且每个div拥有自己的焦点,事件,消息处理等机制。同时,单网页使得所有页面都在同一个网页里面,从而大大加速了页面之间的切换速度和加载速度。在该框架上面进行webos应用程序开发,可以使得页面在隐藏后还能继续和其他页面之间进行通信,以及页面之间函数调用、变量共享成为可能。同时,加上栈的统一管理机制,使得页面之间切换有序化每个页面都采用类的封装形式,方便管理,调用及维护;页面之间的切换采用栈统一管理机制,便于集中管理和维护。本发明提供的方法可以广泛应用于嵌入式linux的webos领域,可以简化开发流程,方便页面管理等。可实施性非常强。
附图说明
图1是本发明方法示意图。
具体实施方式
下面结合本发明的实施例对本发明作进一步的阐述和说明。
实施例:
如图1所示:运用div技术开发webos智能电视前端的方法,它包括以下步骤:
启动共用html:将智能电视所有web页面设计成一个网页,所有页面都放在一个html文件里面,每个页面或者功能模块之间都用div标签隔离开来。所述div标签是html中的段落标签,用于为html文档内大块的内容提供结构和背景的元素。具有浏览器兼容性好、网页访问速度快等特点,同时,div标签拥有自己的焦点事件处理,并能够很好地对某些事件进行过滤和拦截。
具体地:将每个功能模块按照面向对象的思维进行类的封装,并以该模块的功能对其进行命名。如:菜单模块封装代码如下:
加载常用js文件;将每个页面设计为一个单独的js文件,同时使用类的命名空间将该页面进行封装;然后将每个页面js文件全部导入进同一个html文件中。更佳的,webos项目整个页面共用一个页面body,即所有页面共用同一个body。
具体地:将每个页面js文件全部导入进同一个html文件中,如下所示:
消息处理:每个功能模块里面对按键消息进行处理和过滤。例如:菜单部分按键处理代码如下:
栈机制管理页面:采用栈机制对所有页面进行统一管理,将需要显示的页面压入栈,将不需要显示的页面出栈,并保证栈里面始终有一个显示页面。
具体地:采用栈的集中管理机制对页面进行显示和切换,将要显示的页面压入栈进行显示,当要显示下一个页面时,先将该页面出栈,再将需要显示的页面压入栈即可。栈的实现代码如下所示:
热键处理:将所有热键单独封装在一个页面里面,放在window层集中进行处理。所述热键包括但不限于音量键,静音键,快捷键,代码如下所示:
进一步的,对于消息处理,先在对应页面进行处理并进行过滤,对于本页面里面不处理的消息再返回到window层进行相应的处理。本实施例所述window层是指浏览器窗口对象。
以上就是本发明的具体实施方法,它是针对在嵌入式设备中,每个页面之间需要实时交互,启动页面速度慢而设计出来的一种web前端开发框架,使用这个框架进行程序开发非常简单,非常容易。它具有很强的复用性。
下面就本发明设计要点进一步重点说明:
本发明将智能电视所有web页面设计成一个网页,再将不同页面用div标签隔离开来,每个页面都有自己独立的事件处理和焦点处理机制。再采用栈管理页面机制,将需要显示的页面压入栈,不需要显示的页面出栈并隐藏掉。
具体地:为了避免所有页面在同一个html文件里面很混乱,在运行页面body里面是空的,所有页面都是在js文件里面创建,并且将每个页面都用div标签隔离开来,方便阅读和管理。
所有js文件封装成类的形式,避免出现不同js文件之间变量名重复以及调用混乱,类名以该文件的功能命名。
不同页面之间的通信采用函数调用或者消息机制。对于热键(如:音量键,静音键,快捷键等)的按键接收在公用js(index.js)文件里面接收,无论系统处于哪个界面,都能接收到热键并对热键进行处理。
本发明是采用div标签方式来划分,并且所有页面都是在同一个html文件中加载并运行,始终只有一个网页。同时,本发明引入了栈空间的页面管理机制,方便页面的管理和维护。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。