专利名称:一种基于浏览器的作业系统及编辑方法
技术领域:
本发明涉及一种数字处理系统,尤其涉及一种基于浏览器的作业系统及编辑方法。
背景技术:
现有的在线数字化作业系统一般是由专业的信息技术公司编辑制作,题目或者作业编辑完成后以固定的网页文件形式存在。用户可以通过浏览器做作业,但不能以所见即所得的形式自己编辑题目和作业。对于在线数字化作业系统来说,一般是包括服务平台,专业的信息技术公司先将预先编辑好的作业处理软件设置在该平台上,作业处理软件涉及的数据可以直接存储在平台的服务器端,也可以存储在其它数据库上,该数据库与服务器端连接。用户可以通过因特 网或内网连接至该平台,并在该软件提供的接口上进行作业操作。这种技术上处理,提供给用户是确定的内容,若用户希望修改作业内容信息,则需要建立与信息技术公司的交互,不具有任何的扩展性。即用户不能随时随地的编辑组织自己想要的内容。无论是新建或者修改作业,都需要专业信息技术公司支持,耗费大量的人力物力。另外,现有技术中也有少量解决方案支持以所见即所得的方式编辑作业,不过提供的编辑功能单一,基本不能支持图形、图像、公式的编辑以及版式设计,用户只能编辑一些形式单一的内容。也就是说,现有的在线数字化作业系统由于是采用用户通过终端登录至服务平台,服务平台预先保存专业公司制作的作业软件,这种技术设置,所有的操作都在服务器上,对于用户来说,不具有可扩展性和可操作性。
发明内容
本发明的目的在于提供一种基于浏览器的作业系统,以解决现有技术中现有技术的可扩展性和可操作性差的技术问题。本发明的第二目的在于提供一种基于浏览器的作业编辑方法,以解决现有技术中现有技术的可扩展性和可操作性差的技术问题。一种基于浏览器的作业编辑方法,包括以下步骤
(1)作业平台给客户端提供一作业编辑接口,所述作业编辑接口中至少设置交互引擎和页面渲染单元,所述交互引擎包括用于提供不同类型浏览器对应的识别用户操作的n组件框架与作业平台的文件编辑单元进行统一接口消息交互的消息处理框架;
(2)用户端对作业编辑接口的包括菜单和编辑区域在内的用户交互区域进行作业编辑操作;
(3)交互引擎获得该用户端浏览器的类型信息,再通过该类型浏览器对应的UI组件框架捕获用户对作业编辑的事件操作,后按照消息处理框架中预先设先定义的消息格式发送所述事件消息;
(4)作业平台接受到所述消息后,根据消息来对内容进行对应的编辑操作并保存,并对作业编辑接口的页面渲染单元要求刷新的指令; (5)页面渲染单元接收到刷新指令后,读取文档内容,在浏览器的编辑区域按原有形式进行显示。较佳地,还包括
在步骤(I)中还包括所述作业编辑接口上设置一作业编辑单元,所述作业编辑单元用来按照接收到的消息命令来编辑文档;
在步骤(4)中还包括所述作业编辑单元来接受到所述消息后,解析出对应的命令,根据该命令对作业进行编辑,并对编辑操作后的文档信息上传至服务器端中进行存储。较佳地,上述实施方案还可以通过以下步骤来实现
在步骤(I)中还包括在服务器端上设置一文档数据管理单元;
在步骤(4)中还包括作业平台的文档数据管理单元来接受到所述消息后,解析出对应的命令,根据该命令对作业进行编辑,并对编辑操作后的文档信息进行存储。本方法还包括
服务器端的答题单元从预先存储的数据中取得包括题干、问题、选项在内的新文档信息后,由页面渲染模块显示,同时根据不同的题型显示答题区,供用户答题;
用户端的交互引擎获得该用户端浏览器的类型信息,再通过该类型浏览器对应的n组件框架捕获用户对作业答题的事件操作,后按照消息处理框架中预先设先定义的消息格式发送所述事件消息;
服务器保存所述答题操作。本方法还包括
服务器端的作业批改单元从服务器取得题目题干、问题和选项、答题内容、标准答案、解题思路,取得作业和题目内容后,由页面渲染模块显示题目内容,同时根据不同的题型显示批改区域;
用户端的交互引擎获得该用户端浏览器的类型信息,再通过该类型浏览器对应的n组件框架捕获用户对作业批改的事件操作,后按照消息处理框架中预先设先定义的消息格式发送所述事件消息;
服务器保存所述批改操作。本方法还包括
题目复习单元从服务器取得题目题干、问题和选项、答题内容、标准答案、解题思路、批改内容,取得作业和题目内容后,由页面渲染模块显示题目内容,供用户复习。本方法进一步包括
在所述引擎中设置addEventHandler (), addEventHandler ()首先检测当前浏览器是否存在D0M2级方法,如果存在,则使用该模式;然后检测是否是IE浏览器,如果是,则使用IE的事件绑定模式;最后是使用DOMO级方法的事件绑定模式,用于兼容旧版本的浏览器,从而完成交互引擎所需要的兼容浏览器的事件处理机制。本方法还包括
UI组件框架提供一个UIBaseComponent, UIBaseComponent是所有UI组件的基类,在这个基类里面,定义了 n组件通用的消息、状态码、错误码在内的接口,每一个UIBaseComponent组件都与DOM元素——对应,对于不同的浏览器,DOM元素激发的事件消息有不同的名称和不同的事件属性,UIBaseComponent类内部根据浏览器类型,把不同的事件消息映射为具有一致名称和属性的事件类FDEvent ; UI组件框架提供UIControl和UIContainer两个子类,UIControl类是各种具体的UI元素的基类,它的子类包括按钮、文本框、下拉框,UIContainer是n容器元素的基类,它的子类包括菜单容器、Tab容器。本方法还包括
所述消息处理框架提供EventUtil EventUtil统一管理消息的侦听任务,包括基本的DOM消息,对于不同的浏览器,事件与事件响应函数的关联方式存在很大差异,交互引擎使用EventUtil提供的统一的事件响应函数绑定方法时,EventUtil内部根据浏览器的类型,以各类浏览器相应的事件关联模型来绑定事件响应函数。本方法还包括
所述消息处理框架提供KeyEventHandler,其为所有键盘事件提供统一的操作机制,KeyEventHandler内部根据浏览器的类型把各类浏览器的键盘事件和事件参数分别处理转化,对外提供统一的操作接口。一种基于浏览器的作业编辑系统,包括客户端和服务器端,其中
设置在客户端的作业编辑接口,所述作业编辑接口中至少设置交互引擎、作业编辑单元和页面渲染单元,所述交互引擎包括用于提供不同类型浏览器对应的识别用户操作的n组件框架与作业平台的文件编辑单元进行统一接口消息交互的消息处理框架,其中,UI组件框架用于获得该用户端浏览器的类型信息,捕获用户对作业编辑的事件操作,所述消息处理框架用于按照消息处理框架中预先设先定义的消息格式与作业编辑单元的所述事件消息交互;
作业编辑单元用于对作业编辑接口的包括菜单和编辑区域在内的用户交互区域进行作业编辑操作,并对作业编辑接口的页面渲染单元要求刷新的指令;
页面渲染单元,用于接收到刷新指令后,读取文档内容,在浏览器的编辑区域按原有形式进行显示;
服务器端用于保存编辑后的作业。较佳地,所述服务器端进一步包括
文档数据管理单元用于管理编辑后的文档;
答题单元,用于从预先存储的数据中取得包括题干、问题、选项在内的新文档信息后,发送消息给页面渲染模块显示,同时根据不同的题型显示答题区,供用户答题;
服务器端的作业批改单元,用于从服务器取得题目题干、问题和选项、答题内容、标准答案、解题思路,取得作业和题目内容后,由页面渲染模块显示题目内容,同时根据不同的题型显示批改区域;
题目复习单元,用于从服务器取得题目题干、问题和选项、答题内容、标准答案、解题思路、批改内容,取得作业和题目内容后,由页面渲染模块显示题目内容,供用户复习。与现有技术相比,本发明具有以下优点
本发明解决了浏览器的兼容性问题,通过过浏览器以所见即所得的方式接受用户的编辑作业和题目操作,具有极强的扩展性和可操作性。编辑功能支持文本编辑、图形编辑、公式编辑、图像编辑,并提供丰富的版式编辑与设计功能。编辑内容包括题干、问题和选项、标准答案、答题区、批改区、解题思路区,通过分区域编辑题目,可以支持在作业相关的各个流程显示不同的题目内容,从而支持出题、答题、客观题自动判卷、题目批改、复习题目。基于浏览器的使用方式,方便用户布置作业、提交作业以及复习作业。用户能自由编辑作业和题目,有效节省了数字化作业的应用成本。数字化作业支持客观题自动判卷,而且能对用户答题结果做深入的统计分析,从而有效提高教与学的效率和效果。
图I为一种基于浏览器的作业系统的原理图。
具体实施方式
随着网络的普及,越来越多的应用和服务被转移到浏览器环境。基于浏览器的RIA(Rich Internet Applications,富互联网应用)应用通过引入“客户端引擎”,增强了浏览器的交互能力和表现能力,大大拓宽了浏览器环境下可能提供的应用和服务的范围。然而,由于浏览器环境下的HTML编程语言最初设计出来是为了展示信息,尽管浏览器环境的开发技术发展到现在,陆续加入了脚本语言等多项技术来支持动态和交互的需求,但这些技术只能在有限范围内弥补HTML语言的不足,要在浏览器环境实现RIA应用仍然面临诸多挑战。此外,浏览器本身的发展一直没有形成一个统一的规范和标准。现在各个平台上的用户可能使用的浏览器有IE、FireFox、Chrome和Safari等,开发RIA应用时,必须处理各个浏览器的个性化特点,才能保证兼容和跨平台。本发明在“用户交互单元”引入“交互引擎”,充分利用最新的HTML技术和Javascript技术,有效解决了浏览器的兼容问题,为实现交互功能丰富、表现能力充分的RIA应用提供了一个解决方法。由于不同类型浏览器具有不同的指令规范及操作设计流程,为此,设计一个交互引擎,将所有类型浏览器的指令规范及操作设计流程都有一个统一接口与外部通信。比如,对于浏览器,一般仅是捕获用户操作的指令,将该些指令交互时能解析成统一的接口出去,当接收到某一接口信息时能解析成该浏览器对应的命令出去,通过上述方式来实现浏览器的兼容问题。请参阅图1,一种基于浏览器的作业编辑系统,包括客户端2和服务器端3,其中 设置在客户端的作业编辑接口 1,作业编辑接口 I中至少设置交互引擎11、作业编辑单
元12和页面渲染单元13,交互引擎11包括用于提供不同类型浏览器对应的识别用户操作的n组件框架与作业平台的文件编辑单元进行统一接口消息交互的消息处理框架,其中,n组件框架用于获得该用户端浏览器的类型信息,捕获用户对作业编辑的事件操作,所述消息处理框架用于按照消息处理框架中预先设先定义的消息格式与作业编辑单元的所述事件消息交互;
作业编辑单元12 :用于对作业编辑接口的包括菜单和编辑区域在内的用户交互区域进行作业编辑操作,并对作业编辑接口的页面渲染单元要求刷新的指令;页面渲染单元13,用于接收到刷新指令后,读取文档内容,在浏览器的编辑区域按原有形式进行显示;
服务器端3 :用于保存编辑后的作业作业编辑单元12可以放置在服务器端3,也可以设置在客户端2.
服务器端进一步包括
文档数据管理单元21 :用于管理编辑后的文档;
答题单元22,用于从预先存储的数据中取得包括题干、问题、选项在内的新文档信息后,发送消息给页面渲染模块显示,同时根据不同的题型显示答题区,供用户答题;
服务器端的作业批改单元23,用于从服务器取得题目题干、问题和选项、答题内容、标准答案、解题思路,取得作业和题目内容后,由页面渲染模块显示题目内容,同时根据不同的题型显示批改区域;
题目复习单元24,用于从服务器取得题目题干、问题和选项、答题内容、标准答案、解题思路、批改内容,取得作业和题目内容后,由页面渲染模块显示题目内容,供用户复习。一种基于浏览器的作业编辑方法,包括以下步骤
(1)作业平台给客户端提供一作业编辑接口,所述作业编辑接口中至少设置交互引擎和页面渲染单元,所述交互引擎包括用于提供不同类型浏览器对应的识别用户操作的n组件框架与作业平台的文件编辑单元进行统一接口消息交互的消息处理框架;
(2)用户端对作业编辑接口的包括菜单和编辑区域在内的用户交互区域进行作业编辑操作;
(3)交互引擎获得该用户端浏览器的类型信息,再通过该类型浏览器对应的UI组件框架捕获用户对作业编辑的事件操作,后按照消息处理框架中预先设先定义的消息格式发送所述事件消息;
(4)作业平台接受到所述消息后,根据消息来对内容进行对应的编辑操作并保存,并对作业编辑接口的页面渲染单元要求刷新的指令;
(5)页面渲染单元接收到刷新指令后,读取文档内容,在浏览器的编辑区域按原有形式进行显示。页面渲染单元预先保存原有编辑区域的显示数据信息,比如,哪些数据显示在哪个区域,用什么字体显示,字体大小多少等信息,当接收到刷新指令后发,即可以直接读取文档内容,按照预先保存的显示属性信息进行显示,并且过段时间可以进行刷新保存当前新的显示属性信息。当作业编辑接口上设置一作业编辑单元,所述作业编辑单元用来按照接收到的消息命令来编辑文档;在步骤(4)中还包括作业编辑单元来接受到所述消息后,解析出对应的命令,根据该命令对作业进行编辑,并对编辑操作后的文档信息上传至服务器端中进行存储。作业编辑单元预先保存每一个命令对应的具体编辑操作,当接收到具体的命令操作时,解析出具体编辑操作。作业编辑单元将具体的文档编辑操作信息上传至服务器端进行保存。同样,作业编辑单元也可以设置在服务器上,比如,设置在文档数据管理单元的内部,这样的话在,作业平台的文档数据管理单元来接受到所述消息后,解析出对应的命令,根据该命令对作业进行编辑,并对编辑操作后的文档信息进行存储。上述方法还包括服务器端的答题单元从预先存储的数据中取得包括题干、问题、选项在内的新文档信息后,由页面渲染模块显示,同时根据不同的题型显示答题区,供用户答题;
用户端的交互引擎获得该用户端浏览器的类型信息,再通过该类型浏览器对应的n组件框架捕获用户对作业答题的事件操作,后按照消息处理框架中预先设先定义的消息格式发送所述事件消息;
服务器保存所述答题操作。上述方法还包括
服务器端的作业批改单元从服务器取得题目题干、问题和选项、答题内容、标准答案、解题思路,取得作业和题目内容后,由页面渲染模块显示题目内容,同时根据不同的题型显示批改区域;
用户端的交互引擎获得该用户端浏览器的类型信息,再通过该类型浏览器对应的n组件框架捕获用户对作业批改的事件操作,后按照消息处理框架中预先设先定义的消息格式发送所述事件消息;
服务器保存所述批改操作。上述方法还包括
题目复习单元从服务器取得题目题干、问题和选项、答题内容、标准答案、解题思路、批改内容,取得作业和题目内容后,由页面渲染模块显示题目内容,供用户复习。以下进一步介绍一下交互引擎(注意保持文章中同一组件名称的一致性)
“交互引擎”由UI组件框架和消息处理框架构成。UI组件框架有机结合基本的Web交互元素和动态Javascript脚本,提供了一个不亚于桌面程序的交互界面。消息处理框架封装了 HTML的DOM消息,同时提供了丰富的用户自定义消息,以一致的接口进行处理,保证了对各个浏览器的兼容性,并有效的提升了浏览器环境的交互效果。UI 组件框架首先实现了一个UIBaseComponent。UIBaseComponent 是所有 UI 组件的基类,在这个基类里面,定义了 UI组件通用的消息、状态码、错误码等接口。每一个UIBaseComponent组件都与DOM元素——对应。对于不同的浏览器,DOM元素激发的事件消息有不同的名称和不同的事件属性。nBaseComponent类内部根据浏览器类型,把不同的事件消息映射为具有一致名称和属性的事件类FDEvent,同时提供符合W3C标准的事件响应接口函数,从而很好的解决的浏览器的兼容性。“交互引擎”在UIBaseComponent 的基础上,分别实现了 UIControl 和UIContainer两个子类。UlControl类是各种具体的UI元素的基类,它的子类包括按钮、文本框、下拉框等。UIContainer是UI容器元素的基类,它的子类包括菜单容器、Tab容器等。消息处理框架包括EventUtil、MessageCenter、FDEvent、KeyEventHandler 等几个主要的类。EventUtil统一管理消息的侦听任务,包括基本的DOM消息和大量的用户自定义消息。对于不同的浏览器,事件与事件响应函数的关联方式存在很大差异。“交互引擎”使用EventUtil提供的统一的事件响应函数绑定方法时,EventUtil内部根据浏览器的类型,以各类浏览器相应的事件关联模型来绑定事件响应函数,从而保证了 “交互引擎”的事件响应函数在各类浏览器里面都有一致的行为。EventUtil 实现了一个 addEventHandler ()方法,addEventHandler ()首先检测当前浏览器是否存在D0M2级方法,如果存在,则使用该模式;然后检测是否是IE浏览器,、如果是,则使用IE的事件绑定模式;最后是使用DOMO级方法的事件绑定模式,用于兼容旧版本的浏览器。通过对这三种具体情况的分别处理,addEventHandler ()保证了在目前主流的浏览器环境下都能正确的映射事件和事件响应函数。按照同样的思路,EventUtil另外又实现了一个removeEventHandler ()方法,从而完成了“交互引擎”所需要的兼容浏览器的事件处理机制。MessageCenter作为消息的接受和派发中心,隔离了消息的生成与消息的处理代码,大大降低的代码的复杂度,提高的代码可测试性和健壮性。MessageCenter为基本的DOM消息、UIComponet消息、用户自定义消息提供了一致的事件处理机制,从而为拓展浏览器的交互能力和屏蔽浏览器的差异性提供了一个很好的解决方案。FDEvent是对各个浏览器的DOM事件消息和用户自定义消息的抽象,并实现了符合W3C标准的接口。在生成消息时候,各个浏览器的不同的事件消息类被包装成统一的FDEvent,从而保证后续的消息传递和消息处理过程只需要按统一的接口操作,而无需考虑浏览器的差异性。 兼容DOM的浏览器和IE浏览器之间,在Event对象的传递和对象的属性上就存在差异性。首先是两者的对象访问方式不一样。兼容DOM的浏览器会将一个Event对象传入到事件处理程序中,而IE浏览器的Event对象的访问方式却根据事件响应函数的绑定方式来确定。EventUtil提供了一个getEvent的接口,返回接口统一的FDEvent,供后续流程使用。其次是两者对事件target的处理不一样,IE的Event的对象用srcElement属性来保存事件的target, EventUtil在内部把事件的target赋值给FDEvent的eventTarget属性,从而屏蔽了浏览器的差异性。KeyEventHandler为所有键盘事件提供统一的操作机制。各个浏览器对键盘事件的处理差异性更加复杂,包括键盘事件的类型、键盘事件的参数都存在各自的实现方案。KeyEventHandler内部根据浏览器的类型把各类浏览器的键盘事件和事件参数分别处理转化,对外提供统一的操作接口。“交互引擎”通过KeyEventHandler提供的统一的接口就能在各个浏览器以相同的方式处理用户的键盘操作。在键盘的keypress事件中,FireFox、Chrome和Safari的event对象都有一个charCode属性,存储着按下的那个键代表的ASCII码,而IE和Opera则是在keyCode属性中保存字符的ASCII码。KeyEventHandler通过检测浏览器类型,取得正确的字符ASCII码,保存在FDEvent对象中,提供给后续的事件响应程序访问。UIControl类直接响应用户的输入,包括所有的键盘和鼠标操作。为了隔离浏览器的界面内容与动作,UIControl类的以MVC模式实现。其中,CtrlState一CtrlRender一CtrlCenter 分别对应与 MVC 模式的 Model—View一Control。CtrlState 包括基本的 DOM的State和丰富的自定义State,自定义的State有效的扩展了 UIControl的交互性。CtrlRender充分利用最新的HTML技术和CSS技术,实现了丰富的展示效果。CtrlCenter作为处理中心,维护UIControl的状态,并承担与消息中心的通信任务。UIContainer类作为n容器的基类,实现界面上的容器组件,比如菜单栏、Tab栏。容器组件包含一组具有一致行为的子元素,并统一管理子元素的行为和消息。此处公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式
。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属领域技术人员能很好地利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制
权利要求
1.一种基于浏览器的作业编辑方法,其特征在于,包括以下步骤 (1)作业平台给客户端提供一作业编辑接口,所述作业编辑接口中至少设置交互引擎和页面渲染单元,所述交互引擎包括用于提供不同类型浏览器对应的识别用户操作的Π组件框架与作业平台的文件编辑单元进行统一接口消息交互的消息处理框架; (2)用户端对作业编辑接口的包括菜单和编辑区域在内的用户交互区域进行作业编辑操作; (3)交互引擎获得该用户端浏览器的类型信息,再通过该类型浏览器对应的UI组件框架捕获用户对作业编辑的事件操作,后按照消息处理框架中预先设先定义的消息格式发送所述事件消息; (4)作业平台接受到所述消息后,根据消息来对内容进行对应的编辑操作并保存,并对作业编辑接口的页面渲染单元要求刷新的指令; (5)页面渲染单元接收到刷新指令后,读取文档内容,在浏览器的编辑区域按原有形式进行显示。
2.如权利要求I所述的基于浏览器的作业编辑方法,其特征在于,还包括 在步骤(I)中还包括所述作业编辑接口上设置一作业编辑单元,所述作业编辑单元用来按照接收到的消息命令来编辑文档; 在步骤(4)中还包括所述作业编辑单元来接受到所述消息后,解析出对应的命令,根据该命令对作业进行编辑,并对编辑操作后的文档信息上传至服务器端中进行存储。
3.如权利要求I所述的基于浏览器的作业编辑方法,其特征在于,还包括 在步骤(I)中还包括在服务器端上设置一文档数据管理单元; 在步骤(4)中还包括作业平台的文档数据管理单元来接受到所述消息后,解析出对应的命令,根据该命令对作业进行编辑,并对编辑操作后的文档信息进行存储。
4.如权利要求I所述的基于浏览器的作业编辑方法,其特征在于,还包括 服务器端的答题单元从预先存储的数据中取得包括题干、问题、选项在内的新文档信息后,由页面渲染模块显示,同时根据不同的题型显示答题区,供用户答题; 用户端的交互引擎获得该用户端浏览器的类型信息,再通过该类型浏览器对应的Π组件框架捕获用户对作业答题的事件操作,后按照消息处理框架中预先设先定义的消息格式发送所述事件消息; 服务器保存所述答题操作。
5.如权利要求4所述的基于浏览器的作业编辑方法,其特征在于,还包括 服务器端的作业批改单元从服务器取得题目题干、问题和选项、答题内容、标准答案、解题思路,取得作业和题目内容后,由页面渲染模块显示题目内容,同时根据不同的题型显示批改区域; 用户端的交互引擎获得该用户端浏览器的类型信息,再通过该类型浏览器对应的Π组件框架捕获用户对作业批改的事件操作,后按照消息处理框架中预先设先定义的消息格式发送所述事件消息; 服务器保存所述批改操作。
6.如权利要求5所述的基于浏览器的作业编辑方法,其特征在于,还包括 题目复习单元从服务器取得题目题干、问题和选项、答题内容、标准答案、解题思路、批改内容,取得作业和题目内容后,由页面渲染模块显示题目内容,供用户复习。
7.如权利要求I所述的基于浏览器的作业编辑方法,其特征在于,进一步包括 在所述引擎中设置addEventHandler (), addEventHandler ()首先检测当前浏览器是否存在D0M2级方法,如果存在,则使用该模式;然后检测是否是IE浏览器,如果是,则使用IE的事件绑定模式;最后是使用DOMO级方法的事件绑定模式,用于兼容旧版本的浏览器,从而完成交互引擎所需要的兼容浏览器的事件处理机制。
8.如权利要求I所述的基于浏览器的作业编辑方法,其特征在于,还包括 UI组件框架提供一个UIBaseComponent, UIBaseComponent是所有UI组件的基类,在这个基类里面,定义了 UI组件通用的消息、状态码、错误码在内的接口,每一个 UIBaseComponent组件都与DOM元素——对应,对于不同的浏览器,DOM元素激发的事件消息有不同的名称和不同的事件属性,UIBaseComponent类内部根据浏览器类型,把不同的事件消息映射为具有一致名称和属性的事件类roEvent ; UI组件框架提供UIControl和UIContainer两个子类,UIControl类是各种具体的UI元素的基类,它的子类包括按钮、文本框、下拉框,UIContainer是Π容器元素的基类,它的子类包括菜单容器、Tab容器。
9.如权利要求I所述的基于浏览器的作业编辑方法,其特征在于,还包括 所述消息处理框架提供EventUtil EventUtil统一管理消息的侦听任务,包括基本的DOM消息,对于不同的浏览器,事件与事件响应函数的关联方式存在很大差异,交互引擎使用EventUtil提供的统一的事件响应函数绑定方法时,EventUtil内部根据浏览器的类型,以各类浏览器相应的事件关联模型来绑定事件响应函数。
10.如权利要求I所述的基于浏览器的作业编辑方法,其特征在于,还包括 所述消息处理框架提供KeyEventHandler,其为所有键盘事件提供统一的操作机制,KeyEventHandler内部根据浏览器的类型把各类浏览器的键盘事件和事件参数分别处理转化,对外提供统一的操作接口。
11.一种基于浏览器的作业编辑系统,其特征在于,包括客户端和服务器端,其中 设置在客户端的作业编辑接口,所述作业编辑接口中至少设置交互引擎、作业编辑单元和页面渲染单元,所述交互引擎包括用于提供不同类型浏览器对应的识别用户操作的Π组件框架与作业平台的文件编辑单元进行统一接口消息交互的消息处理框架,其中,UI组件框架用于获得该用户端浏览器的类型信息,捕获用户对作业编辑的事件操作,所述消息处理框架用于按照消息处理框架中预先设先定义的消息格式与作业编辑单元的所述事件消息交互; 作业编辑单元用于对作业编辑接口的包括菜单和编辑区域在内的用户交互区域进行作业编辑操作,并对作业编辑接口的页面渲染单元要求刷新的指令; 页面渲染单元,用于接收到刷新指令后,读取文档内容,在浏览器的编辑区域按原有形式进行显示; 服务器端用于保存编辑后的作业。
12.如权利要求11所述的基于浏览器的作业编辑系统,所述服务器端进一步包括 文档数据管理单元用于管理编辑后的文档; 答题单元,用于从预先存储的数据中取得包括题干、问题、选项在内的新文档信息后,发送消息给页面渲染模块显示,同时根据不同的题型显示答题区,供用户答题; 服务器端的作业批改单元,用于从服务器取得题目题干、问题和选项、答题内容、标准答案、解题思路,取得作业和题目内容后,由页面渲染模块显示题目内容,同时根据不同的题型显示批改区域; 题目复习单元,用于从服务器取得题目题干、问题和选项、答题内容、标准答案、解题思路、批改内容,取得作业和题目内容后,由页面渲染模块显示题目内容,供用户复习。全文摘要
一种基于浏览器的作业编辑方法,包括以下步骤(1)作业平台给客户端提供一作业编辑接口,所述作业编辑接口中至少设置交互引擎和页面渲染单元,(2)用户端对作业编辑接口的包括菜单和编辑区域在内的用户交互区域进行作业编辑操作;(3)交互引擎获得该用户端浏览器的类型信息,再通过该类型浏览器对应的UI组件框架捕获用户对作业编辑的事件操作,后按照消息处理框架中预先设先定义的消息格式发送所述事件消息;(4)作业平台接受到所述消息后,根据消息来对内容进行对应的编辑操作并保存,并对作业编辑接口的页面渲染单元要求刷新的指令;(5)页面渲染单元接收到刷新指令后,读取文档内容,在浏览器的编辑区域按原有形式进行显示。
文档编号G06Q50/20GK102637290SQ201210082030
公开日2012年8月15日 申请日期2012年3月26日 优先权日2012年3月26日
发明者关健, 刘敏, 朱鸿斌, 马世雄 申请人:上海方正数字出版技术有限公司