bianbian coding life

便便代码人生: 关注技术, 翻译文档, 偶尔动动手

[啊] 淘宝整天改版,自动发货又升级

Posted by bianbian on 2007-11-16 10:02


本文Tags: , ,

自动发货的又要改了。
现在淘宝的发货页面用了Yahoo UI Library,每个按钮都用了后期事件绑定,每个事件又和很多代码相关,于是分析起来比较困难。估计是故意的。
经过1个小时的代码分析。终于搞定。
其实偷偷告诉大家,不需要分析那些事件到底改动了哪些form里的数值。
因为我们的脚本能控制页面的所有元素,把form改成我们需要的样子submit上去就OK了。
帖主要代码:

  1. //发货
  2. gFrm["_fmu.g._0.goo"].value = gTips[gID];
  3. //先把页面里的几个发货单全删了
  4. $(d, "reComPartners").parentNode.removeChild($(d, "reComPartners"));
  5. $(d, "otherPartners").parentNode.removeChild($(d, "otherPartners"));
  6.  
  7. var div = d.createElement("DIV");
  8. var divHTML;
  9. if (gID <= 1) //邮政
  10. {
  11.     divHTML = '<input type="hidden" name="companyCode1"  value="POST"/>' +
  12.         '<input type="hidden" name="checked1" class="hidden logis:chooseCompanyId"   value="true"  />' +
  13.         '<input name="mailNo1" value="' + (gID > 0 ? hh : "POST") + '" />';
  14.     gFrm["methordId"].value = 0;
  15. }
  16. else if (gID == 4) //韵达
  17. {
  18.     divHTML = '<input name="orderType" type="hidden" value="2" />' +
  19.         '<input type="hidden" name="companyId"  value="102"/>' +
  20.         '<input type="hidden" name="companyCode"  value="YUNDA"/>' +
  21.         '<input type="hidden" name="checked" class="hidden logis:chooseCompanyId" value="true" />' +
  22.         '<input name="mailNo" value="' + hh + '" />';
  23.     gFrm["methordId"].value = 1;
  24. }
  25. else if (gID == 2) //南京100
  26. {
  27.     divHTML = '<input name="companyCode1" value="OTHER" />' +
  28.         '<input value="南京壹零零速递" name="companyName"/>' +
  29.         '<input name="checked1" value="true">' +
  30.         '<input name="mailNo1" value="' + hh + '" />';
  31.     gFrm["methordId"].value = 0;
  32. }
  33.    
  34. div.innerHTML = divHTML;
  35. gFrm.appendChild(div);
  36. gFrm.submit();
标签: , ,

遵守创作共用协议,转载请链接形式注明来自http://bianbian.org 做人要厚道

相关日志

Posted in JavaScript, Technology | No Comments »

[原] 淘宝(taobao.com)卖家自动好评工具

Posted by bianbian on 2007-08-01 02:23


本文Tags: , , ,

哈哈,每天点好评太郁闷了,这下爽了。写了一晚上,有什么问题请留言阿。
==================
taobao卖家自动好评工具 v1.1
==================
解压后运行Setup.exe来安装和卸载(第一次运行安装,下一次卸载,再下一次安装。。。。)

安装和卸载都要重新打开浏览器(IE和IE核心的)才有效。

使用的时候:右键点击“评价”链接,选择“taobao卖家自动好评”
淘宝卖家自动好评

因浏览器的关系,会弹出一个对话框,等待自动评价完成(否则浏览器立刻返回就不灵了)

评价的内容修改请用记事本或写字板打开“Haoping.html”第36行参照说明修改

有什么问题,请到我的blog留言:http://bianbian.org

最后做个广告:

欢迎光临必胜客优惠券打折卡专卖:http://shop34553802.taobao.com

保留作者信息下随意复制本程序

bianbian
http://bianbian.org
http://shop34553802.taobao.com

07.8.1

下载:淘宝卖家自动好评工具v1.1 (43K)

原理就是JS控制页面元素啦,还是比较有意思的。
源码:

  1. //***************************************************************
  2. //   Function   : 淘宝卖家自动好评
  3. //   File name  : Haoping.html
  4. //   Author     : bianbian (bianbian.org#gmail.com)
  5. //   Blog       : http://bianbian.org
  6. //   Shop       : http://shop34553802.taobao.com
  7. //   Copyright  : 保留作者信息下随意复制
  8. //   Version    : 1.0  created,      bianbian @ 07-7-31 18:46
  9. //                1.1  解决跨域问题, bianbian @ 07-8-1 1:43
  10. //***************************************************************
  11.  
  12. /*
  13. 在下一行修改你的好评内容,注意如果多行要用"\n"隔开,如:
  14.  
  15. content = "欢迎再次\n光临\n必胜客优惠券打折卡\n专卖\n shop34553802.taobao.com";
  16.  
  17. 也可以写成这样:
  18.  
  19. content = "欢迎再次\n" +
  20. "光临\n" +
  21. "必胜客优惠券打折卡\n" +
  22. "专卖\n" +
  23. " shop34553802.taobao.com";
  24.  
  25. 也可以这样:
  26.  
  27. content = "欢迎再次\n\
  28. 光临\n\
  29. 必胜客优惠券打折卡\n\
  30. 专卖\n\
  31. shop34553802.taobao.com\
  32. ";
  33. */
  34. content = "欢迎再次光临必胜客优惠券打折卡专卖~ shop34553802.taobao.com";
  35.  
  36.  
  37. //
  38. // 下面不需要修改 ***********************************************
  39. //
  40. try
  41. {
  42.     haoping();
  43. }
  44. catch(e)
  45. {
  46.     alert("出错了噢~ 请和 yuelinniao 联系");
  47. }
  48.  
  49. function haoping()
  50. {
  51.     var d = external.menuArguments.document;
  52.     var e = external.menuArguments.event;
  53.     var a = d.elementFromPoint(e.clientX, e.clientY);
  54.     var p = a.parentElement;
  55.     var done = 0;
  56.    
  57.     if (a.innerText != "评价")
  58.     {
  59.         alert("你点错了吧~~~");
  60.         return;
  61.     }
  62.     a.innerText = "好评中..";
  63.     var fr = d.createElement("IFRAME");
  64.     fr.width = 1;
  65.     fr.height = 1;
  66.     //bianbian: 这里涉及iframe的跨域问题,暂时先改成同个域解决
  67.     fr.src = a.href.replace("http:\/\/my\.taobao\.com", "");
  68.     fr.onreadystatechange = function ()
  69.     {
  70.         if (fr.readyState == "complete")
  71.         {
  72.             if (done == 0) //submit form
  73.             {
  74.                 if (submitfrm(fr.contentWindow.document.forms))
  75.                 {
  76.                     done = 1;
  77.                     return;
  78.                 }
  79.                 else //failed, roll back
  80.                 {
  81.                     p.removeChild(fr);
  82.                     a.innerText = "评价";
  83.                 }
  84.             }
  85.             else if (done == 1) //submited, clear
  86.             {
  87.                 p.removeChild(fr);
  88.                 p.removeChild(a);
  89.                 var span = d.createElement("SPAN");
  90.                 span.innerText = "好评OK!";
  91.                 p.appendChild(span);               
  92.             }
  93.             done = 99;
  94.         }
  95.     };
  96.     p.appendChild(fr);
  97.     //bianbian: 这里必须弹出个对话框,否则IE会清空资源直接返回,onreadystatechange就失效了
  98.     alert('好评进行中,完成才能点击"确定"关闭本对话框噢~');
  99.     if (!done)
  100.     {
  101.         p.removeChild(fr);
  102.         a.innerText = "评价";
  103.         alert("提早关闭对话框,无法取得结果,请重试");
  104.     }
  105. }
  106.  
  107. function submitfrm(fms)
  108. {
  109.     for (var i = 0; i < fms.length; i++)
  110.     {
  111.         var f = fms[i];
  112.         if (f.name == "addfeedback")
  113.         {
  114.             f["_fmmy.r._0.r"][0].checked = true;
  115.             f["_fmmy.r._0.c"][0].checked = true;
  116.             f["_fmmy.r._0.t"][0].checked = true;
  117.             f["_fmmy.r._0.f"].value = content;
  118.             f.submit();
  119.             return true;
  120.         }
  121.     }
  122.     return false;
  123. }
标签: , , ,

遵守创作共用协议,转载请链接形式注明来自http://bianbian.org 做人要厚道

相关日志

Posted in JavaScript, Technology | 2 Comments »