TabacooRecorder

Record your tabacoo order

目前為 2016-12-14 提交的版本,檢視 最新版本

  1. // ==UserScript==
  2. // @name TabacooRecorder
  3. // @namespace https://greasyfork.org/users/86741
  4. // @version 0.2
  5. // @description Record your tabacoo order
  6. // @include http://gdgz.xinshangmeng.com*
  7. // @grant GM_registerMenuCommand
  8. // @grant GM_getValue
  9. // @grant GM_setValue
  10. // @run-at document-end
  11. // @license MIT
  12. // ==/UserScript==
  13.  
  14. /****************************************
  15. ######## version 20161214 #########
  16. 保存在新商盟的最近一次下单记录
  17. ****************************************/
  18. console.log("华哥的记录保存脚本开始执行!");
  19.  
  20. //注册菜单
  21. GM_registerMenuCommand('保存输入',Save);
  22. GM_registerMenuCommand('读取记录',Load);
  23. GM_registerMenuCommand('控制台显示记录',ShowInConsole);
  24. console.log('脚本菜单注册成功');
  25.  
  26. //全局变量,常量
  27. var recordJson={}; //记录json
  28. var _lastRecord='lastRecord'; //记录最后一次输入的数据名,_开头表示常量
  29.  
  30. //保存输入
  31. function Save(){
  32. console.log('开始保存输入');
  33. for(var i=1;i<1024;i++){
  34. id='sort_'+i;
  35. li=document.getElementById(id);
  36. if(!li){
  37. break;
  38. }
  39. num=li.getElementsByTagName('input')[1].value;
  40. if(num>0){
  41. recordJson[li.title]=num;
  42. }
  43. }
  44. newRecord=JSON.stringify(recordJson);
  45. GM_setValue(_lastRecord,newRecord);
  46. console.log('保存输入成功!保存的json是:');
  47. console.log(newRecord);
  48. }
  49.  
  50. //读取输入
  51. function Load(){
  52. alert('注意!读取记录基于上次的网页编排\n,如编排被改变可能引发错误,请仔细核对!');
  53. console.log('开始读取输入');
  54. record=JSON.parse(GM_getValue(_lastRecord));
  55. console.log(record);
  56. for(var i=1;i<1024;i++){
  57. id='sort_'+i;
  58. li=document.getElementById(id);
  59. if(!li){
  60. break;
  61. }
  62. if(li.title in record){
  63. inputBox=li.getElementsByTagName('input')[1];
  64. inputBox.value=record[li.title];
  65. //必须让输入框获取焦点再失去焦点,数据才会更新
  66. inputBox.focus();
  67. inputBox.blur();
  68. }
  69. }
  70. console.log('读取输入成功');
  71. }
  72.  
  73. //控制台查看保存记录
  74. function ShowInConsole(){
  75. console.log('控制台显示保存记录:');
  76. record=GM_getValue(_lastRecord);
  77. console.log(record);
  78. }