很早就有这个想法,不过不知道QQ的个性签名的Rss地址,今天把QZone的js载下来看,终于让我把地址给找出来了(发现里面有一段代码是舜子写的:)).
弄了一段js调用.本地测试可以,传到blog上面来就不行了,以为是Qzone禁止外部调用.再去Baidu.才知道原来使用Microsoft.XMLDOM存在跨域调用问题,IE默认是把跨域调用数据源关闭的.所以一直不显示.
把ie安全选项里跨域调用数据打开就可以了.不过这样也只有自己(IE有允许跨域调用数据的)能看到调用结果.
于是再baidu.找到了Microsoft.XMLHTTP的方法,把xml数据镜像(不知道用这个词对不对)到本地,再用js调用.Microsoft.XMLHTTP对中文有乱码问题,要加一段函数来转换.
实现的效果可以看我blog菜单下一行的”QQ签名调用”.我只调用最新的一条.因为读取速度不快,我把js放在页面后面了.
缺点:载入数据的时候页面会卡住,不知道有没有更好的解决方法.FF下还不行
[color=Green]ps:QQ的个性签名其实可以当作一个很方便的便用签,因为在QQ上的每次改动都会记录在Qzone的心路历程栏目中.

附代码:proxy.asp
[code]
/*编码转换*/
Function bytes2BSTR(arrBytes)
strReturn = ""
arrBytes = CStr(arrBytes)
For i = 1 To LenB(arrBytes)
ThisCharCode = AscB(MidB(arrBytes, i, 1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(arrBytes, i+1, 1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i = i + 1
End If
Next
bytes2BSTR = strReturn
End Function

Dim objXMLHTTP, xml
Set xml = Server.CreateObject("Microsoft.XMLHTTP")

xml.Open "GET", "远程RSS地址", False
xml.Send

Response.Write bytes2BSTR(xml.responseBody)

Set xml = Nothing
[/code]

调用js:
[code]
[/code]

最后,把

放在页面你想显示的地方就行.