结算

调到结算页面

  1. // ==UserScript==
  2. // @name 结算
  3. // @namespace zlh.com
  4. // @include https://cart.1688.com/cart.htm?&status*
  5. // @version 1
  6. // @grant none
  7. // @description 调到结算页面
  8. // ==/UserScript==
  9.  
  10. //alert('来到了结算页面啦');
  11.  
  12. window.onload=function(){
  13. function GetQueryString(name){
  14. var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
  15. var r = window.location.search.substr(1).match(reg);
  16. if(r!=null)return urldecode(r[2]); return null;
  17. }
  18. var status=GetQueryString("status");
  19. var strname=GetQueryString("name");
  20. console.log(strname);
  21. var checkout=document.getElementById("checkout");
  22. //全选
  23. checkout.getElementsByTagName("label")[0].click();
  24. //选择交易方式(默认支付宝担保交易)
  25. var selects=document.getElementsByClassName("select-container");
  26. var lens=selects.length;
  27. //alert(lens);
  28. for(var p=0;p<lens;p++){
  29. // console.log(selects[p].getElementsByClassName("select-handler")[0]);
  30. var handler=selects[p].getElementsByClassName("select-handler")[0];
  31. var options=selects[p].getElementsByClassName("options")[0];
  32. // console.log(options);
  33. if(options){
  34. options.getElementsByTagName("dt")[1].click();
  35. }
  36. }
  37.  
  38. //结算
  39. console.log(checkout);
  40.  
  41. var form=checkout.getElementsByTagName("form")[0];
  42. console.log(form);
  43. strname=encodeURI(strname);//将获取的中文编码后发送
  44. //alert(strname);
  45. form.setAttribute("action","//order.1688.com/order/smart_make_order.htm?p=cart&status="+status+"&name="+strname);
  46. console.log(strname);
  47. var button=form.getElementsByTagName("button")[0];
  48. // console.log(button);
  49. //alert('点击跳转');
  50. setTimeout(function(){button.click();},20000);
  51. }
  52.  
  53. //js解php的url编码
  54. function urldecode(encodedString)
  55. {
  56. var output = encodedString;
  57. var binVal, thisString;
  58. var myregexp = /(%[^%]{2})/;
  59. function utf8to16(str)
  60. {
  61. var out, i, len, c;
  62. var char2, char3;
  63.  
  64. out = "";
  65. len = str.length;
  66. i = 0;
  67. while(i < len)
  68. {
  69. c = str.charCodeAt(i++);
  70. switch(c >> 4)
  71. {
  72. case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7:
  73. out += str.charAt(i-1);
  74. break;
  75. case 12: case 13:
  76. char2 = str.charCodeAt(i++);
  77. out += String.fromCharCode(((c & 0x1F) << 6) | (char2 & 0x3F));
  78. break;
  79. case 14:
  80. char2 = str.charCodeAt(i++);
  81. char3 = str.charCodeAt(i++);
  82. out += String.fromCharCode(((c & 0x0F) << 12) |
  83. ((char2 & 0x3F) << 6) |
  84. ((char3 & 0x3F) << 0));
  85. break;
  86. }
  87. }
  88. return out;
  89. }
  90. while((match = myregexp.exec(output)) != null
  91. && match.length > 1
  92. && match[1] != '')
  93. {
  94. binVal = parseInt(match[1].substr(1),16);
  95. thisString = String.fromCharCode(binVal);
  96. output = output.replace(match[1], thisString);
  97. }
  98.  
  99. //output = utf8to16(output);
  100. output = output.replace(/\\+/g, " ");
  101. output = utf8to16(output);
  102. return output;
  103. }