海纳百川,有容乃大
善于总结,积累软财富
posts - 159,  comments - 432,  trackbacks - 63

【摘要】不再东奔西跑,Ajax一网打尽你关心的博客园RSS频道。便于浏览,轻松学习。
     
       1、Ajax源代码, Ajax核心技术XMLHttpRequest, XMLDocument
       2、拖拽使你随意排列各个频道
       3、cookie中保存排列的效果,记住你的个性
       4、把JS代码粘贴到你的博客园中。实现步骤:管理->选项->configure->页脚Html代码
       5、详细的注释说明,你一定看的懂

Ajax源代码
   
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Draging,what do you see!</title>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312">
<meta content="XML,XMLHttpRequest,web2.0" name="keywords">
<meta name="author" content="David">
<meta name="description" content="实现类似google.com/ig的功能">
<style>
*
{font-size:12px}
/*样式class*/
.dragTable
{
 font-size
:12px;
 border-top
:1px solid #3366cc;
 margin-bottom
: 10px;
 width
:100%;
 background-color
:#FFFFFF;
}

.dragTR
{
 cursor
:move;/*控制当鼠标移动到该行上时显示的样式*/
 color
:#7787cc;
 background-color
:#e5eef9;
 font-size
:16px;
 font-family
:"宋体";
 font-weight
:bold;
 letter-spacing
:1px;
}

/*利用tagName定义样式*/
td
{vertical-align:top;}
/*#表示对id=parentTable元素的样式定义*/
#parentTable
{
 border-collapse
:collapse;
 letter-spacing
:25px;
}

</style>
<script language="javascript">
<!--
/*AJAX*/
// JavaScript Document
function echo(obj1,html)
{
    $(obj1).innerHTML
=html;
}

function $(id)
{
    
return document.getElementById(id);    
}

function createXMLHttpRequest() {
    
var xmlHttpObj;
    
if (window.ActiveXObject) {
        xmlHttpObj 
= new ActiveXObject("Microsoft.XMLHTTP");
    }
else if (window.XMLHttpRequest) {
        xmlHttpObj 
= new XMLHttpRequest();
    }

    
return xmlHttpObj;
}


function parseResults(obj1,xmlHttp) {
var results = xmlHttp.responseXML;
var item = null;
var title;
var items = results.getElementsByTagName("item");
for(var i = 0; i < items.length; i++{
item 
= items[i];
 title 
= item.getElementsByTagName("title")[0].firstChild.nodeValue;

 
//clearPreviousResults();
 link2=item.getElementsByTagName("link")[0].firstChild.nodeValue;
 title
=str(title);
addListRow(title,link2,obj1);
}

}


function readrss(url,obj)

var xmlHttp=createXMLHttpRequest();
xmlHttp.onreadystatechange 
= handleStateChange;
xmlHttp.open(
"GET",url,true);
xmlHttp.send(
null);

    
//xmlHttp.abort();
    function handleStateChange()//FN2
    {
        
if(xmlHttp.readyState==2)
        
{
            
            echo(obj,
"正在提交数据,请稍等");
        }

        
else if(xmlHttp.readyState==4)
        
{
            
if(xmlHttp.status==200)
            
{
            
//echo(obj,"正在提交数据,请稍等");
            clearPreviousResults(obj);
            parseResults(obj,xmlHttp);

            }

        }

    }
//End FN2

}


function addListRow(title,link1,obj2)
{
//clearPreviousResults(obj2);
$(obj2).innerHTML+='<a href="'+link1+'" target="_blank" >'+title+'</a><br>';
}


function str(stri)
{
    
var strb;
    
if(stri.length>30)
    
{
        strb
=stri.substring(0,30)+'..';
    }

    
else
    
{
        strb
=stri;
    }

    
return strb;
}


function clearPreviousResults(obj3) {
    
while($(obj3).childNodes.length > 0{
    $(obj3).removeChild($(obj3).childNodes[
0]);
    }

}

//-->
</script>
<script language ="javascript" type="text/javascript">
//----设置Cookie------

        
function setCookie(name,value,domain)

        
{

            
var value = escape(value);

            
var nameString = "Drag_"+name + "=" + value; //给cookie变量增加前缀

            
var extime = new Date();            

            extime.setTime (extime.getTime () 
+ 315360000);

            
var expiryString = ";expires=" + extime.toGMTString();

            
var domainString = "";

            
var pathString = ";path=/";    

            
var setvalue = nameString + expiryString;

                document.cookie 
= setvalue;
        }


        
//----设置Cookie 结束------

        
//---读取Cookie-------

        
function getcookie (name) 
        
{
            
var CookieFound = false;
            
var start = 0;
            
var end = 0;
            
var CookieString = document.cookie;
            
            
var i = 0;
            name
="Drag_"+name; //增加前缀
            while (i <= CookieString.length) 
            
{
                start 
= i ;
                end 
= start + name.length;
                
if (CookieString.substring(start, end) == name)
                
{
                    CookieFound 
= true;
                    
break
                }

                i
++;
            }


            
if (CookieFound)
            
{
                start 
= end + 1;
                end 
= CookieString.indexOf(";",start);
                
if (end < start)
                    end 
= CookieString.length;
                
var getvalue = CookieString.substring(start, end);
                
return unescape(getvalue);
            }

            
return "";
        }


        
//---读取Cookie 结束-------
            
        
//检测是否禁用了cookie
        function isEnableCookie() {                
            
try {
            
var cookie_helper = new CookieHelper("");
            
var test_cookie_name = "test_cookie_name";
            
var test_cookie_value = "test_cookie_value";
            
var test_cookie_value_ret = "";
            
            cookie_helper.writeCookie(test_cookie_name,test_cookie_value);
            test_cookie_value_ret 
= cookie_helper.getCookieValue(test_cookie_name);            
            
            
if ( test_cookie_value_ret != null ) {
                cookie_helper.removeCookie(test_cookie_name);
                
return true;
            }
 else {                
                
return false;
            }
                    
        }
 catch (error) {            
            
return false;
        }

    }
    


</script>
<script language="javascript" >
function init()
{

readrss('http:
//www.cnblogs.com/rss.aspx','div1');
readrss('http://www.cnblogs.com/beginner/rss.aspx','div2');
readrss('http://www.cnblogs.com/pick/rss.aspx','div3');
readrss('http://www.cnblogs.com/expert/rss.aspx','div4');
readrss('http://www.cnblogs.com/book/rss.aspx','div5');

setTimeout(
"init()","180000");
}

</script>
</head>
<body onLoad="init()">
<table border="0" cellpadding="0" cellspacing="10" width="798" height=500 id="parentTable">
<tr >
 
<td width="266" valign="top">
    
<table id ="st1" border=1 class="dragTable" cellspacing="0">
    
<tr><td>首页原创.NET区    div1</td></tr>
    
<tr><td id="div1"></td></tr