Ext Ajax實現的RSS閱讀器

以下是本人使用Ext Ajax實現的RSS閱讀器代碼:

<textarea cols="87" rows="21" name="code" class="xhtml:collapse:showcolumns"><html> <head> <title>Ext Ajax</title> <meta http-equiv="content-type" content="text/html; charset=gb2312"> <link rel="stylesheet" type="text/css" href="resources/css/ext-all.css" mce_href="resources/css/ext-all.css"> <mce:script type="text/javascript" src="adapter/ext/ext-base.js" mce_src="adapter/ext/ext-base.js"></mce:script> <mce:script type="text/javascript" src="ext-all.js" mce_src="ext-all.js"></mce:script> <mce:script type="text/javascript"><!-- Ext.onReady(function(){ var linkArray = new Array(); var store = new Ext.data.ArrayStore({ fields:[ {name:"title"}, {name:"pubDate",type:"date"}, {name:"desc"}, {name:"link"} ] }); function initLinkArray(feedData){ var title,pubDate,desc,link; var items = feedData.getElementsByTagName("item"); for(var i=0;i<items.length;i++){ title = (items[i].getElementsByTagName("title")[0].childNodes[1]||items[i].getElementsByTagName("title")[0].childNodes[0]).nodeValue; pubDate = items[i].getElementsByTagName("pubDate")[0].firstChild.nodeValue; desc = (items[i].getElementsByTagName("description")[0].childNodes[1]||items[i].getElementsByTagName("description")[0].childNodes[0]).nodeValue; link = items[i].getElementsByTagName("link")[0].firstChild.nodeValue; linkArray[i] = new Array(title,pubDate,desc,link); } //Ext.Msg.alert("Data",items.length); } var ListForm = new Ext.form.FormPanel({ frame:true, labelAlign:"right", labelWidth:60, defaultType:"textfield", defaults:{ width:200, allowBlank:false }, items:[ new Ext.form.ComboBox({ fieldLabel:"RSS地址", name:"Rss Address", displayField:"Desc", mode:"local", typeAhead:true, forceSelection:true, triggerAction:"all", emptyText:"Please select a rss address...", selectOnFocus:true, store:new Ext.data.SimpleStore({ fields:["Address","Desc"], data:[["http://ued.taobao.com/blog/feed","淘寶UED博客---wordpress博客"], ["http://www.douban.com/feed/review/book","豆瓣最熱書評---豆瓣rss"], ["http://jowq.blogcn.com/rss.xml","稻草人手記---blogcn博客"], ["http://hi.baidu.com/baidu/rss","百度空間---百度空間"], ["http://blog.sina.com.cn/rss/twocold.xml","韓寒博客--—新浪博客"], ["http://news.163.com/special/00011K6L/rss_newstop.xml","網易頭條"], ["http://bbs.51js.com/rss.php?fid=1&amp;auth=0","無憂腳本"] ] }) }) ], buttons:[{ text:"查看", type:"submit", handler:function(){ Ext.lib.Ajax.request( 'post', "http://ued.taobao.com/blog/feed", { success:function(response){ //Ext.Msg.alert("成功信息",response.responseText); initLinkArray(response.responseXML); store.loadData(linkArray); } }, 'data='+encodeURIComponent(Ext.encode({name:'value'})) ); } } ] }); function renderLink(value, p, record){ return String.format( '<b><a href="{1}" mce_href="{1}" target="_blank">{0}</a></b>',value, value); } var ViewGrid = new Ext.grid.GridPanel({ store:store, id:"ViewGrid", columns:[ new Ext.grid.RowNumberer(), {header:"標題",width:200,sortable:true,dataIndex:"title"}, {header:"時間",width:100,sortable:true,renderer:Ext.util.Format.dateRenderer("m/d/y hh:mm:ss"),dataIndex:"pubDate"}, {header:"來源",width:150,sortable:false,renderer:renderLink,dataIndex:"link"} ], stripeRows: true, trackMouseOver:false, disableSelection:true, loadMask: true, height:400, width:500, bbar:new Ext.PagingToolbar({ pageSize:10, store:store, displayInfo:true, displayMsg: 'Displaying rsses {0} - {1} of {2}', emptyMsg: "No rss to display", items:[ '-', { pressed: true, enableToggle:true, text: 'Show Preview', cls: 'x-btn-text-icon details', toggleHandler: function(btn, pressed){ var view = grid.getView(); view.showPreview = pressed; view.refresh(); } }] }) }); var ViewPort = new Ext.Viewport({ layout:"border", items:[{ region:"north", title:"RSS列表", height:100, minSize: 100, maxSize: 200, split:true, collapsible: true, items:[ListForm] },{ region:"west", title:"RSS信息", width:500, split:true, collapsible: true, items:[ViewGrid] },{ region:"center", items:[ new Ext.Panel({ title:"RSS內容", preventBodyReset: true }) ] } ] }); //ListForm.render(Ext.getBody()); }); // --></mce:script> </head> <body> </body> </html></textarea>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章