提供解決方案如下:
@writen by etongchina 2009-02-06 19:00
實現(xiàn)方案:類似json實現(xiàn)
實現(xiàn)原理:js允許引入的遠程文件(js)來操作本地數(shù)據(jù)
具體方法:(以http://news.xxx.com/200812/25-4653.html 為例)
1.修改http://news.xxx.com/200812/25-4653.html 的js調(diào)用用部分;
在本地html或js文件中寫入:
<SCRIPT LANGUAGE="JavaScript">
function _Digg(type,tid){
var s = document.createElement("SCRIPT");
s.id="cgi_emotion_list";
document.getElementsByTagName("HEAD")[0].appendChild(s);
s.src="http://www.xxx.com/../dig.php?type="+type+"&tid="+tid ;
//需要統(tǒng)計的php頁面的 src
}
function visitCountCallBack(data){
document.getElementsByTagName("HEAD")[0].removeChild(document.getElementById("cgi_emotion_list"));
for(var i in data){
var e =document.getElementById(i);
if(e) e.innerHTML=data[i];
//一些代碼去修改本地html
}
}
</script>
修改以下代碼:<a href="javascript:Digg('digg',4653);">頂一下</a>
為:<a href="javascript:_Digg('digg',4653);">頂一下</a>
2. 訪問遠程文件:
遠程文件(http://www.xxx.com/../dig.php?type=digg&tid=456 )返回類似代碼:
visitCountCallBack({
"visitcount":135
});
以上代碼相當于遠程文件調(diào)用本地函數(shù):visitCountCallBack
這樣一來就可以實現(xiàn)利用遠程返回數(shù)據(jù)來動態(tài)修改本地文件。
3.總結(jié):
關于此方案,目前可行,也有人認為會過時。我認為不會產(chǎn)生JS越權的問題。
上一頁
12 下一頁