Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[疑难] 《礼物》深度整合UCH的问题------官方有更简便方法不告诉我们

[复制链接]
反调的华丽 发表于 2009-7-11 15:39:43 | 显示全部楼层 |阅读模式
本帖最后由 反调的华丽 于 2009-7-11 15:51 编辑

《礼物》作者发布的“《礼物》与网站深度整合插件

我安装了下、一切正常、可是令我不爽的是,feed页好友生日提醒跑到上面来了。
于是就分析下官方的代码,一分析才发现,原来官方有更简便的方法,就是在feed页加入一条代码:
  1. <script language="javascript" type="text/javascript" src="http://gift.nohyes.cn/recommend.php"></script>
复制代码
于是我也尝试把自己的网站加入此代码、发现加入此代码后跟官方的一样,原来不需要像作者说的那样修改space_feed页那么多处。“我的网站地址:www.90cu.com/home   测试账号demo  123123”
可是接下来问题来了。

虽说好友生日提醒后的礼物图标显示正常,但点击礼物图标却不能正常打开礼物应用,打开的是礼物应用的空白界面:如下图:
虽说显示正常,但点击礼物图标却打开的是:

经过跟官方的对比,我发现,是我的网站里的礼物图标的URL有问题,才导致不能正常进入《礼物》应用送礼物。
然后我去根据官方调用的那段代码里的网址“http://gift.nohyes.cn/recommend.php”,进入了礼物的网站www.nohyes.cn

发现这个网站也是通过加入了一段代码实现的送礼物提醒和生日送礼物,不过这个网站调用的代码是:

  1. <script language="javascript" type="text/javascript" src="http://gift.nohyes.cn/nohyes.php"></script>
复制代码

我把自己网站的代码换成这段代码、还是不行、问题依旧。

于是我分别分析了官方UCH和“《礼物》官网”分别调用的两个php文件,

官方调用的php文件源码是:


  1.         var BASE64={
  2.                 enKey: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
  3.                 deKey: new Array(
  4.                         -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
  5.                         -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
  6.                         -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63,
  7.                         52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1,
  8.                         -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
  9.                         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,
  10.                         -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
  11.                         41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1
  12.                 ),
  13.                 encode: function(src){
  14.                         var str=new Array();
  15.                         var ch1, ch2, ch3;
  16.                         var pos=0;
  17.                         while(pos+3<=src.length){
  18.                                 ch1=src.charCodeAt(pos++);
  19.                                 ch2=src.charCodeAt(pos++);
  20.                                 ch3=src.charCodeAt(pos++);
  21.                                 str.push(this.enKey.charAt(ch1>>2), this.enKey.charAt(((ch1<<4)+(ch2>>4))&0x3f));
  22.                                 str.push(this.enKey.charAt(((ch2<<2)+(ch3>>6))&0x3f), this.enKey.charAt(ch3&0x3f));
  23.                         }
  24.                         if(pos<src.length){
  25.                                 ch1=src.charCodeAt(pos++);
  26.                                 str.push(this.enKey.charAt(ch1>>2));
  27.                                 if(pos<src.length){
  28.                                         ch2=src.charCodeAt(pos);
  29.                                         str.push(this.enKey.charAt(((ch1<<4)+(ch2>>4))&0x3f));
  30.                                         str.push(this.enKey.charAt(ch2<<2&0x3f), '=');
  31.                                 }else{
  32.                                         str.push(this.enKey.charAt(ch1<<4&0x3f), '==');
  33.                                 }
  34.                         }
  35.                         return str.join('');
  36.                 }
  37.         };
  38.         function giftRecClose()
  39.         {
  40.                 Cookie.set("gift_rec_close", 1, 24);
  41.                 $('giftRec').style.display = 'none';
  42.                 return false;
  43.         }
  44.         var pNode = $('sidebar');
  45.         var cNodes = pNode.childNodes;
  46.         var checkFirstDiv = false;
  47.         var taskDefined = false;
  48.         var recommend = document.createElement('div');
  49.         recommend.id = 'giftRec';
  50.         recommend.innerHTML = '<div class="ye_l_t"><div class="ye_r_b"><div class="ye_l_b"><div class="task_notice" style="width:230px;"><a href="#" onclick="javascript:giftRecClose();return false;" class="float_cancel" title="\u5ffd\u7565">\u5ffd\u7565</a><div class="task_notice_body"><a href="userapp.php?id=1027468&my_suffix=aW5kZXgucGhwP2RvPXNlbmQmZnJvbT1yZWNvbW1lbmRfdSZnaWZ0aWQ9MTE5"><img style="margin-top:15px;" id="recgiftimg" src="http://124.238.249.203/gift/gifts/119.gif" alt="" class="icon" /></a><h3>\u63a8\u8350\u793c\u7269</h3><p id="recgiftname">\u84dd\u5b9d\u77f3\u6212\u6307</p><p>\u9b45\u529b +10&nbsp;&nbsp;\u4eb2\u5bc6\u5ea6 +6</p><p><a id="recgifthref" href="userapp.php?id=1027468&my_suffix=aW5kZXgucGhwP2RvPXNlbmQmZnJvbT1yZWNvbW1lbmRfdSZnaWZ0aWQ9MTE5">\u5c31\u9001\u5b83\u4e86</a> | <a href="userapp.php?id=1027468&my_suffix=aW5kZXgucGhwP2RvPXNlbmQmZnJvbT1yZWNvbW1lbmRfdQ%3D%3D">\u67e5\u770b\u6240\u6709</a></p></div></div></div></div></div>';
  51.         recommend.className = 'ye_r_t';
  52.         for(var i=0;i<cNodes.length;i++)
  53.         {        
  54.                 if(cNodes.nodeName && cNodes.nodeName == 'DIV')
  55.                 {
  56.                         var nodeDiv = cNodes;
  57.                         if(checkFirstDiv == false)
  58.                         {
  59.                                 var firstDivNodes = nodeDiv.getElementsByTagName('div');
  60.                                 for(var j=0;j<firstDivNodes.length;j++)
  61.                                 {
  62.                                         if(firstDivNodes[j].className == 'task_notice')
  63.                                         {
  64.                                                 taskDefined = true;
  65.                                         }
  66.                                 }        
  67.                         }

  68.                         if((taskDefined == false && checkFirstDiv == false) || (taskDefined == true && checkFirstDiv == true))
  69.                         {
  70.                                 if(nodeDiv.className != 'searchfirend' && isUndefined(markNode))
  71.                                 {
  72.                                        
  73.                                         var markNode = nodeDiv;
  74.                                        
  75.                                 } else {
  76.                                         var h3Nodes = nodeDiv.getElementsByTagName('h3');
  77.                                         if(!isUndefined(h3Nodes[0]) && h3Nodes[0].innerHTML == '\u597d\u53cb\u751f\u65e5\u63d0\u9192') {
  78.                                                 var birthNode = nodeDiv;
  79.                                         } else if(isUndefined(markNode)) {
  80.                                                 var markNode = nodeDiv;
  81.                                         }
  82.                                 }
  83.                         }
  84.                         checkFirstDiv = true;
  85.                 }
  86.         }
  87.         
  88.         if(!isUndefined(birthNode))
  89.         {
  90.                 var liBirthNode = birthNode.getElementsByTagName('li');
  91.                 for(var k=0;k<liBirthNode.length;k++)
  92.                 {
  93.                         var birthLi = liBirthNode[k];
  94.                         birthLi.style.cssText="overflow:hidden;width:85px;";
  95.                         var birthHref = birthLi.getElementsByTagName('a')[0];
  96.                         birthHref.style.cssText="white-space:nowrap;overflow:hidden;width:65px;float:left;";
  97.                         var birthUid = birthHref.href.replace(/^[^\d]*(\d+)[^\d]*$/, "$1");
  98.                         var newBirthHref = document.createElement('a');
  99.                         newBirthHref.href = 'userapp.php?id=1027468&my_suffix='+escape(BASE64.encode('index.php?do=send&from=home_u&uchId='+birthUid+'&gifttype=birth'));
  100.                         newBirthHref.innerHTML ='<img title="\u9001TA\u793c\u7269" style="vertical-align:middle;float:right;" src="http://appicon.manyou.com/icons/1027468"/>';
  101.                         birthLi.appendChild(newBirthHref);
  102.                 }
  103.         }
  104.         if(!isUndefined(markNode) && !Cookie.get("gift_rec_close"))
  105.         {
  106.                 pNode.insertBefore(recommend,markNode);
  107.         }
复制代码
“《礼物》官网”调用的php文件源码是:


  1.         var BASE64={
  2.                 enKey: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
  3.                 deKey: new Array(
  4.                         -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
  5.                         -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
  6.                         -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63,
  7.                         52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1,
  8.                         -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
  9.                         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,
  10.                         -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
  11.                         41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1
  12.                 ),
  13.                 encode: function(src){
  14.                         var str=new Array();
  15.                         var ch1, ch2, ch3;
  16.                         var pos=0;
  17.                         while(pos+3<=src.length){
  18.                                 ch1=src.charCodeAt(pos++);
  19.                                 ch2=src.charCodeAt(pos++);
  20.                                 ch3=src.charCodeAt(pos++);
  21.                                 str.push(this.enKey.charAt(ch1>>2), this.enKey.charAt(((ch1<<4)+(ch2>>4))&0x3f));
  22.                                 str.push(this.enKey.charAt(((ch2<<2)+(ch3>>6))&0x3f), this.enKey.charAt(ch3&0x3f));
  23.                         }
  24.                         if(pos<src.length){
  25.                                 ch1=src.charCodeAt(pos++);
  26.                                 str.push(this.enKey.charAt(ch1>>2));
  27.                                 if(pos<src.length){
  28.                                         ch2=src.charCodeAt(pos);
  29.                                         str.push(this.enKey.charAt(((ch1<<4)+(ch2>>4))&0x3f));
  30.                                         str.push(this.enKey.charAt(ch2<<2&0x3f), '=');
  31.                                 }else{
  32.                                         str.push(this.enKey.charAt(ch1<<4&0x3f), '==');
  33.                                 }
  34.                         }
  35.                         return str.join('');
  36.                 }
  37.         };
  38.         function giftRecClose()
  39.         {
  40.                 Cookie.set("gift_rec_close", 1, 24);
  41.                 $('giftRec').style.display = 'none';
  42.                 return false;
  43.         }
  44.         var pNode = $('sidebar');
  45.         var cNodes = pNode.childNodes;
  46.         var checkFirstDiv = false;
  47.         var taskDefined = false;
  48.         var recommend = document.createElement('div');
  49.         recommend.id = 'giftRec';
  50.         recommend.innerHTML = '<div class="ye_l_t"><div class="ye_r_b"><div class="ye_l_b"><div class="task_notice" style="width:230px;"><a href="#" onclick="javascript:giftRecClose();return false;" class="float_cancel" title="\u5ffd\u7565">\u5ffd\u7565</a><div class="task_notice_body"><a href="userapp.php?id=1027468&my_suffix=aW5kZXgucGhwP2RvPXNlbmQmZnJvbT1yZWNvbW1lbmRfdSZnaWZ0aWQ9NTg%3D"><img style="margin-top:15px;" id="recgiftimg" src="http://124.238.249.203/gift/gifts/58.gif" alt="" class="icon" /></a><h3>\u63a8\u8350\u793c\u7269</h3><p id="recgiftname">\u56de\u529b\u8fd0\u52a8\u978b</p><p>\u9b45\u529b +10&nbsp;&nbsp;\u4eb2\u5bc6\u5ea6 +5</p><p><a id="recgifthref" href="userapp.php?id=1027468&my_suffix=aW5kZXgucGhwP2RvPXNlbmQmZnJvbT1yZWNvbW1lbmRfdSZnaWZ0aWQ9NTg%3D">\u5c31\u9001\u5b83\u4e86</a> | <a href="userapp.php?id=1027468&my_suffix=aW5kZXgucGhwP2RvPXNlbmQmZnJvbT1yZWNvbW1lbmRfdQ%3D%3D">\u67e5\u770b\u6240\u6709</a></p></div></div></div></div></div>';
  51.         recommend.className = 'ye_r_t';
  52.         for(var i=0;i<cNodes.length;i++)
  53.         {        
  54.                 if(cNodes.nodeName && cNodes.nodeName == 'DIV')
  55.                 {
  56.                         var nodeDiv = cNodes;
  57.                         if(checkFirstDiv == false)
  58.                         {
  59.                                 var firstDivNodes = nodeDiv.getElementsByTagName('div');
  60.                                 for(var j=0;j<firstDivNodes.length;j++)
  61.                                 {
  62.                                         if(firstDivNodes[j].className == 'task_notice')
  63.                                         {
  64.                                                 taskDefined = true;
  65.                                         }
  66.                                 }        
  67.                         }

  68.                         if((taskDefined == false && checkFirstDiv == false) || (taskDefined == true && checkFirstDiv == true))
  69.                         {
  70.                                 if(nodeDiv.className != 'searchfirend' && isUndefined(markNode))
  71.                                 {
  72.                                        
  73.                                         var markNode = nodeDiv;
  74.                                        
  75.                                 } else {
  76.                                         var h3Nodes = nodeDiv.getElementsByTagName('h3');
  77.                                         if(!isUndefined(h3Nodes[0]) && h3Nodes[0].innerHTML == '\u597d\u53cb\u751f\u65e5\u63d0\u9192') {
  78.                                                 var birthNode = nodeDiv;
  79.                                         } else if(isUndefined(markNode)) {
  80.                                                 var markNode = nodeDiv;
  81.                                         }
  82.                                 }
  83.                         }
  84.                         checkFirstDiv = true;
  85.                 }
  86.         }
  87.         
  88.         if(!isUndefined(birthNode))
  89.         {
  90.                 var liBirthNode = birthNode.getElementsByTagName('li');
  91.                 for(var k=0;k<liBirthNode.length;k++)
  92.                 {
  93.                         var birthLi = liBirthNode[k];
  94.                         birthLi.style.cssText="overflow:hidden;width:135px;";
  95.                         var birthHref = birthLi.getElementsByTagName('a')[0];
  96.                         birthHref.style.cssText="white-space:nowrap;overflow:hidden;width:65px;float:left;";
  97.                         var birthUid = birthHref.href.replace(/^[^\d]*(\d+)[^\d]*$/, "$1");
  98.                         var newBirthHref = document.createElement('a');
  99.                         newBirthHref.href = 'userapp.php?id=1027468&my_suffix='+escape(BASE64.encode('index.php?do=send&from=home&uchId='+birthUid+'&gifttype=birth'));
  100.                         newBirthHref.innerHTML ='<img title="\u9001TA\u793c\u7269" style="vertical-align:middle;float:right;" src="http://appicon.manyou.com/icons/1027468"/>';
  101.                         birthLi.appendChild(newBirthHref);
  102.                 }
  103.         }
  104.         if(!isUndefined(markNode) && !Cookie.get("gift_rec_close"))
  105.         {
  106.                 pNode.insertBefore(recommend,markNode);
  107.         }
复制代码
比较了一下,关于“生日礼物”图标的代码处不一样的地方只有:



官方UCH调用的:


  1. newBirthHref.href = 'userapp.php?id=1027468&my_suffix='+escape(BASE64.encode('index.php?do=send&from=home_u&uchId='+birthUid+'&gifttype=birth'));
复制代码
《礼物》官方网站调用的:


  1. newBirthHref.href = 'userapp.php?id=1027468&my_suffix='+escape(BASE64.encode('index.php?do=send&from=home&uchId='+birthUid+'&gifttype=birth'));
复制代码
只有这里不一样、

无论我怎么分析、还是没有半点头绪,而《礼物》的作者也没联系上。

希望大家集思广益。共同探讨。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
 楼主| 反调的华丽 发表于 2009-7-11 15:49:21 | 显示全部楼层
高手帮帮我吧,怎么解决啊?
回复

使用道具 举报

 楼主| 反调的华丽 发表于 2009-7-11 16:16:52 | 显示全部楼层
高手解决一下吧....
回复

使用道具 举报

11107207 发表于 2009-7-11 16:29:34 | 显示全部楼层
一起
来解决
回复

使用道具 举报

 楼主| 反调的华丽 发表于 2009-7-11 16:50:35 | 显示全部楼层
期待高手.....
回复

使用道具 举报

易购通 发表于 2009-7-11 16:52:06 | 显示全部楼层
易购通(时尚购物,轻松更省钱)  
http://www.51egt.com  ,期待您的到来
优惠券、免费赠品、有奖活动:精彩不容错过!
玩玩开心农场、浪漫公寓之余,还能逛逛淘宝、当当、卓越···最高返现可达50%!
回复

使用道具 举报

53435602 发表于 2009-7-11 17:29:17 | 显示全部楼层
很不错啊支持一下













AV  www.av597.com
回复

使用道具 举报

 楼主| 反调的华丽 发表于 2009-7-11 18:52:26 | 显示全部楼层
求高手!!!!!!!
回复

使用道具 举报

 楼主| 反调的华丽 发表于 2009-7-12 02:12:42 | 显示全部楼层
斑竹帮帮我吧……
回复

使用道具 举报

 楼主| 反调的华丽 发表于 2009-7-13 11:58:08 | 显示全部楼层
- -斑竹!!!!!!!!!!!!!到底负不负责!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-9-29 07:28 , Processed in 0.119822 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表