織夢DedeCMS digg Ajax 跨域的實現分析提供解決方案如下:
實現方案:類似json實現
實現原理:js允許引入的遠程文件(js)來操作本地數據
具體方法:(以http://news.xxx.com/202012/25-4653.html 為例)
1.修改http://news.xxx.com/202012/25-4653.html 的js調用用部分;
在本地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 ; //需要統計的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
});
以上代碼相當于遠程文件調用本地函數:visitCountCallBack
這樣一來就可以實現利用遠程返回數據來動態修改本地文件。
3.總結:
關于此方案,目前可行,也有人認為會過時。我認為不會產生JS越權的問題。
以上就是DedeCMS digg Ajax 跨域的實現分析的全部內容,希望對大家的學習和解決疑問有所幫助,也希望大家多多支持武林網。新聞熱點
疑難解答