五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 365文章 > DedeCMS digg Ajax 跨域的實現(xiàn)

DedeCMS digg Ajax 跨域的實現(xiàn)

文章來源:365jz.com     點擊數(shù):223    更新時間:2009-09-13 10:47   參與評論

 

因為web項目用到二級域名的原因,使得原先的digg不能正常使用。仔細分析后,發(fā)現(xiàn)是Ajax JS提交不能跨域的問題。提供解決方案如下:

@writen by etongchina 2009-02-06 19:00

實現(xiàn)方案:類似json實現(xiàn)
實現(xiàn)原理:js允許引入的遠程文件(js)來操作本地數(shù)據(jù)
參考文件:http://www.91linux.com/html/article/program/php/20071207/8938.html
具體方法:(以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   
   });
   以上代碼相當(dāng)于遠程文件調(diào)用本地函數(shù):visitCountCallBack
  
   這樣一來就可以實現(xiàn)利用遠程返回數(shù)據(jù)來動態(tài)修改本地文件。
  
3.總結(jié):  
   關(guān)于此方案,目前可行,也有人認為會過時。我認為不會產(chǎn)生JS越權(quán)的問題。

如對本文有疑問,請?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會為你解答?。?點擊進入論壇

發(fā)表評論 (223人查看,0條評論)
請自覺遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴禁發(fā)布色情、暴力、反動的言論。
昵稱:
最新評論
------分隔線----------------------------

其它欄目

· 建站教程
· 365學(xué)習(xí)

業(yè)務(wù)咨詢

· 技術(shù)支持
· 服務(wù)時間:9:00-18:00
365建站網(wǎng)二維碼

Powered by 365建站網(wǎng) RSS地圖 HTML地圖

copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號