做ext相关的一个example项目,把我们的客户端移植成ext2.0的,由于服务器接收的不是JSON数据而是dom,所以我们需要把我们的ajax请求格式对应成服务器支持的格式
查了下ext2.0的API,发现只有XMLReader,所以和同事手写XMLWriter
这个项目从开始接触ext2.0到做好example,用了22天,aptana这个东西不太好用。
做好后被客户否决了。。。。。。。汗==|||
主要是ext2.0需要import的js类库太大。
页面加载的时候容易造成IE假死
有lazyrender经验的朋友多指点。。。
还有感觉ext2.0虽然华丽,但是做网站的话访问速度。。。估计会很慢,企业局域网应用可以考虑一下
查了下ext2.0的API,发现只有XMLReader,所以和同事手写XMLWriter
/**
* @author B.Chen
*/
function store2xml(store, xml){
store.load();
var array = new Array();
var old_nodes = xml.documentElement.childNodes;
var old_firstNodes = old_nodes[0];
var attributes = old_firstNodes.attributes;
for(var i=0;i<attributes.length;i++) {
array[i] = attributes[i].name;
}
var xmlDoc = createXmlDoc(store);
var new_nodes = xmlDoc.documentElement.childNodes;
for(var i=0;i<store.getCount();i++) {
var record = store.getAt(i);
for(var j=0;j<array.length;j++) {
new_nodes[i].setAttribute(array[j],record.get(array[j]));
}
}
return xmlDoc;
}
function createXmlDoc(store){
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")
var xmlString = "";
var root = "<data>";
var end_root = "</data>";
var child = "<row>"
var end_child = "</row>";
var tab = "\t";
var nextLine = "\n";
xmlString += root + nextLine;
for (var i = 0; i < store.getCount(); i++) {
xmlString += tab + child + nextLine;
xmlString += tab + end_child + nextLine;
}
xmlString += end_root;
xmlDoc.loadXML(xmlString)
return xmlDoc;
}
这个项目从开始接触ext2.0到做好example,用了22天,aptana这个东西不太好用。
做好后被客户否决了。。。。。。。汗==|||
主要是ext2.0需要import的js类库太大。
页面加载的时候容易造成IE假死
有lazyrender经验的朋友多指点。。。
还有感觉ext2.0虽然华丽,但是做网站的话访问速度。。。估计会很慢,企业局域网应用可以考虑一下