/**
* @author joshokn
*/
function Engine(){
//存放事件的列表
this.eventList=new Array();
//store Engine中的widget列表
this.widget_L=new Array();
}
//load widget list
Engine.prototype.load=function(widget_list){
widget_L = widget_list;
}
/**
* 回调,处理事件列表
* @param {Object} eventList
* @param {Object} widget_L
*/
Engine.prototype.process = function(){
for(var i = 0 ; i < widget_L.size; i++){
//widget 's method!
widget_L[i].processMess(eventList);
}
}
/**
* 这里就是向后台定时轮询取事件
* @param {Object} widget_L
*/
Engine.prototype.GetEventsInfo = function(){
var xmlHttp;
try {
xmlHttp = new XMLHttpRequest();
} catch(e) {
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e) {
xmlHttp = false;
}
}
}
if(xmlHttp){
xmlHttp.open("POST" , "tree?name=engine, false);
xmlHttp.send(null);
if(xmlHttp.readyState == 4){
var response = xmlHttp.responseText;
//数据结构根据具体的业务来定
var text = response.split("&");
var name = text[0];
var widget_name = text[1];
var widget_id = text[2];
var widget_type = text[3];
var tempArray = new Array(widget_name,widget_id, widget_type);
Engine.eventList[count++] = tempArray;
//取到的消息交给process处理
process();
}
}
}
/**
* 启动引擎,定时轮询
*/
Engine.prototype.start = function(){
window.setInterval("GetEventsInfo()",5000);
};
这个Engine的位置是放在前台的,它的作用,就是负责收集消息,分发消息.
代码仍有不少累赘,比如eventlist没有必要作为一个属性,它的完全可以是一个临时变量,待改进。
我想说的是有了这个引擎,b/s中的MVC结构就更加清晰了。
前台的widget只需要将自己的改变通知后台(相当于VIEW通知MODEL),其它的事情就不需多问了;Engine也只需要做收发的工作(controler负责接受模型的改变,去通知view).
分享到:
- 2006-11-03 21:02
- 浏览 3747
- 评论(0)
- 论坛回复 / 浏览 (0 / 2693)
- 查看更多
相关推荐
Ajax-youtube-music-engine.zip,youtube音乐引擎脚本php,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新加载网页的...
Ajax-searchEngine.zip,一个简单的搜索引擎来搜索已经上传到数据库中的文件,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在...
Web-Based Role Playing Engine (for Web Game RPG). Uses Javascript (DOM encapsuled) with HTML to provide motion. Uses PHP and FireBird invoked by Ajax to control the other players in your screen. ...
jQuery.validationEngine v3.1.0 寻找官方贡献者 这个项目已经进行了7年多了,现在我仅通过请求请求的贡献来维护该项目。 但是,我很乐意帮助提高代码质量并保持可接受的未解决问题。 概括 jQuery验证引擎是一个...
是一个索引引擎,它使用广度优先搜索索引给定的网页。 由于我缺乏让索引器 24/7 全天候运行的资金,因此我选择了一个解决方案,用户可以输入他们想要索引的链接并选择搜索的深度(最高级别为 3)。...
AJAX引擎是可移植的Ajax框架,它通过为JavaScript提供代理来在数据传输层上基于Web服务标准(SOAP,WSDL)构建。 支持:AJAX操作,排队,调度,启用AJAX的控件。 服务器端适配器可用
Validation Engine是一款基于Jquery的js表单验证插件。相对于之前的传统表单验证工具,其优点是自定义验证内容更广泛以及与AJAX的方便整合。
在jQuery的表变验证插件中Validation-Engine是一款高质量的产品,提示效果非常精美,而且里面包含了AJAX验证功能
2008年5月份,因学习《信息检索》课程,本人利用java的开源搜索引擎库lucene,以及结合ajax技术google-suggest功能,模仿baidu、google的基本风格做了个“Baioogle-SearchEngine(百歌搜索引擎)”程序。 (源代码见...
在jQuery的表变验证插件中Validation-Engine是一款高质量的产品,提示效果非常精美,而且里面包含了AJAX验证功能
NULL 博文链接:https://gavin.iteye.com/blog/558427
基于Ajax和ArcEngine的WebGIS系统的设计和实现
GIPHY搜索引擎这是一个基于GIPHY API的GIF搜索引擎,使用AJAX在页面上对其进行了调用。
1.本系统为B/S结构的web应用系统,是基于Apache lucene(全文检索功能)以及ajax(GoogleSuggest功能)等技术开发的全文信息检索系统,目前仅支持对纯文本文件的检索 2.系统名称:Baioogle-SearchEngine,即“百(度...
入门指南jappstart是一个基于Spring,Spring Security和Sitemesh的Google App Engine Java框架。 该项目旨在成为Google App Engine Java应用程序的起点。 它不是传统意义上的框架,而是旨在为开发人员可以轻松扩展的...
Ajax Engine 2012 版本 该引擎使您可以轻松使用 AJAX 的所有功能,您可以通过控制 post & GET 协议来控制任务的发送。您还可以指定发送请求的方法(同步 - 或异步)以及控制以 TXT 文本或文档形式接收结果的方式 XML...
车把搜索引擎Express/Jade、把手、AJAX、jQuery 把手:搜索引擎