淘宝搜索助手

自动保留淘宝搜索的筛选条件,点击按钮即可再运用

  1. // ==UserScript==
  2. // @name 淘宝搜索助手
  3. // @namespace https://github.com/yeomanye
  4. // @version 0.2.0
  5. // @description 自动保留淘宝搜索的筛选条件,点击按钮即可再运用
  6. // @require https://gf.qytechs.cn/scripts/34143-debug/code/debug.js?version=246342
  7. // @author Ming Ye
  8. // @match https://s.taobao.com/search*
  9. // @grant none
  10. // ==/UserScript==
  11.  
  12. (function() {
  13. 'use strict';
  14. myDebugger.debugD = false;
  15. var log = myDebugger.consoleFactory("taobao-assistant","log",null);
  16. var debugTrue = myDebugger.debugTrue;
  17. var interval;
  18. var tagClickHandler = function(evt){
  19. var target = evt.target;
  20. var className = target.parentNode.className;
  21. var targetClass = target.className;
  22. if(className.indexOf('J_Ajax') < 0 && targetClass.indexOf('J_Ajax') < 0 && targetClass.indexOf('J_SubmitMulti') < 0) return;
  23. //延时,保证能够正确的读取到
  24. setTimeout(function(){
  25. var aElms = document.querySelectorAll('.crumb.g-clearfix .icon-tag.J_Ajax');
  26. var arr = [];
  27. for(var i=0,len=aElms.length;i<len;i++){
  28. var tmpArr = aElms[i].title.split(':')[1].split(',');
  29. for(var j=0,len2=tmpArr.length;j<len2;j++){
  30. arr.push(tmpArr[j]);
  31. }
  32. }
  33. log.logObj('arr',arr);
  34. localStorage.setItem('preSeaTagName',JSON.stringify(arr));
  35. createTag();
  36. },600);
  37. };
  38. var createTag = function(){
  39. var panel = document.querySelector('.crumb.g-clearfix');
  40. if(!panel || panel.length === 0) {
  41. clearInterval(interval);
  42. return interval = setInterval(createTag,500);
  43. }
  44. clearInterval(interval);
  45. var target = document.querySelector('.icon-tag.toggle-btn.recover-filter');
  46. if(target) return;
  47. var newA = document.createElement('a');
  48. newA.href = '#';
  49. newA.innerText = '恢复筛选';
  50. newA.className = 'icon-tag toggle-btn recover-filter';
  51. panel.appendChild(newA);
  52. newA.addEventListener('click',searchTags);
  53. };
  54. var init = function(){
  55. document.body.addEventListener('click',tagClickHandler);
  56. createTag();
  57. };
  58. var searchTags = function(){
  59. var preTagArr = JSON.parse(localStorage.getItem('preSeaTagName'));
  60. var tagElms = document.getElementsByClassName('J_Ajax');
  61. var tagArr = [];
  62. for(var i=0,len=tagElms.length;i<len;i++){
  63. tagArr.push(tagElms[i].innerText);
  64. }
  65. var queryStr = '&cps=yes&ppath=',len = queryStr.length;
  66. preTagArr.forEach(function(str){
  67. var index = tagArr.indexOf(str);
  68. if(index >= 0)queryStr+=tagElms[index].getAttribute('trace-click').replace('cps:yes_s;ppath:','')+'%3B';
  69. });
  70. queryStr = queryStr.substr(0,queryStr.length-3);
  71. if(queryStr.length !== len - 1)
  72. location.search += queryStr;
  73. };
  74. var arrayIsEq = function(arr1,arr2){
  75. if(!arr1 || !arr2) return false;
  76. var len1 = arr1.length,len2 = arr2.length;
  77. if(len1 !== len2) return false;
  78. for(var i=0;i<len1;i++){
  79. if(arr1[i]!==arr2[i])return false;
  80. }
  81. return true;
  82. };
  83. init();
  84. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址