• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    DedeCMS digg Ajax 跨域的实现分析
    POST TIME:2017-11-13 01:00
    提供解决方案如下:
    @writen by etongchina 2009-02-06 19:00
    实现方案:类似json实现
    实现原理:js允许引入的远程文件(js)来操作本地数据
    具体方法:(以http://news.xxx.com/200812/25-4653.html 为例)
    1.修改http://news.xxx.com/200812/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越权的问题。
    上一页12 下一页
    
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!