采用多框架技术实现在线考场恢复系统
1.2 为什么采用多框架结构?
既然答案数据存储到数据库服务器是肯定的,那么学生就必须要在答完一道题后,提交答案到服务器进行处理。页面的提交带来一个最大的问题就是时间的延迟,如果在线考场的网络速度并不理想的话,学生要花费很长时间来提交一次答案,这样的后果就是完成一次考试要花费很长的时间。有什么方法能做到学生既可以不中断考试,同时又能完成答案的提交呢?笔者采用了框架之间的通信技术来实现在前台不中断学生考试的情况下后台提交答案。下面描述一下多框架结构的定义和框架之间的通讯机制。?
1.3 框架的定义和通讯机制?
框架Frame最主要功用是“分割”视窗,使每个“小视窗”能显示不同的HTML文件,不同框架之间可以互动,也就是说不同框架之间可以交换讯息与资料。当加载一个一般的HTML文档到浏览器,创建浏览器中的一个模型,这个浏览器始于窗口对象和它包含的文档,层次模型顶部地位相当简单。如果是框架设置(framesetting)文档加载到一个浏览器,这个浏览器就会建立一个稍微不同的层次模型。该模型的精确结构完全依靠子框架设置文档中定义的框架结构。?
框架可以将屏幕分割成不同的区域,每个区域有自己的URL,通过Frames[]数组对象来实现不同框架之间的访问通讯。实际上框架对象本身也是一个窗口,它继承了窗口对象的所有特征,并拥有所有的属性和方法。框架设置建立一个集中框架间的关系。由于是从面向对象功能的编程领域借用的术语,这个框架设置文档加载到Parent窗口,定义为父窗口文档的每个框架是child框架。可以给每个frame一个“名字”(name)。frame的名字在JavaScript语法中的地位非常重要。一个script引用需要有三个可能的路程之一,这也是框架之间的通讯路径,它们是到目前为止所描述的两代层次:父到子,子到父或子到子。?
这些窗口间的通讯路径需要不同的引用风格。下面就描述一下不同路径之间的script引用脚本。?
? ⑴ 父到子引用?
从父方看,它包括两个以上的框架,这些框架作为框架对象数组也被存在模型中。可以通过数组语法或者通过在标记符的NAME属性赋给的名字通知一个框架。我以名为ObjName代替了我们试图访问的变量或者函数,对象,一个从父到子框架的引用模型如下:?
《采用多框架技术实现在线考场恢复系统(第2页)》