Greasy Fork 支持简体中文。

ccyycn get keys

get your keys

  1. // ==UserScript==
  2. // @name ccyycn get keys
  3. // @namespace none
  4. // @version 0.5
  5. // @description get your keys
  6. // @author You
  7. // @match http://bundle.ccyycn.com/order/id/*
  8. // @grant GM_addStyle
  9. // ==/UserScript==
  10.  
  11. GM_addStyle(".operation a{color:#fff;text-decoration: none;} .operation a:focus, .operation a:hover{color:#ccc;} .operation input{opacity: 0;position: absolute;top: 0;left: 0;}");
  12.  
  13. (function() {
  14. 'use strict';
  15. let getKey = '<a class="scratch" href="javascript:;">一键刮Key</a> | <a class="exchange" href="javascript:;">一键兑换点数</a> | <a class="defaultCopy" href="javascript:;">复制所有Key(普通)</a> | <a class="asfCopy" href="javascript:;">复制所有Key(ASF)</a><input class="keys" type="text" value="">';
  16. let el = document.createElement('div');
  17. let ots = document.querySelector('.showkey-box');
  18. let after = document.querySelector('h2');
  19. let gkey= document.querySelectorAll('.container .deliver-game .deliver-gkey');
  20. el.className='operation';
  21. el.innerHTML = getKey;
  22. ots.insertBefore(el,after.nextSibling);
  23. ots.querySelector(".scratch").addEventListener("click", function(){
  24. gkey.forEach(function(e){
  25. let scrape = e.querySelector('.deliver-btn');
  26. if(scrape){
  27. scrape.click();
  28. }
  29. });
  30. });
  31. ots.querySelector(".exchange").addEventListener("click", function(){
  32. gkey.forEach(function(e){
  33. let scrape = e.querySelector('.exchange-btn');
  34. if(scrape){
  35. scrape.click();
  36. }
  37. });
  38. });
  39. let copyKey = function(copy) {
  40. copy.select();
  41. try{
  42. document.execCommand('copy');
  43. alert('复制成功');
  44. }catch(e){
  45. alert('复制失败');
  46. }
  47. };
  48. ots.querySelector(".defaultCopy").addEventListener("click", function(){
  49. let name= [];
  50. let key = [];
  51. let generalKey = [];
  52. gkey.forEach(function(e){
  53. let scrape = e.querySelector('.deliver-btn');
  54. if(scrape){
  55. return;
  56. }
  57. name = e.parentNode.previousElementSibling.querySelector('div').innerText.replace(/\s+/g,"");
  58. key = e.innerText.replace(/\s+/g,"");
  59. generalKey.push(name+':'+key);
  60. });
  61. generalKey = generalKey.join(',');
  62. let copy = ots.querySelector('.keys');
  63. copy.value = generalKey;
  64. copyKey(copy);
  65. });
  66. ots.querySelector(".asfCopy").addEventListener("click", function(){
  67. let name= [];
  68. let key = [];
  69. gkey.forEach(function(e){
  70. let scrape = e.querySelector('.deliver-btn');
  71. if(scrape){
  72. return;
  73. }
  74. key.push(e.innerText.replace(/\s+/g,""));
  75. });
  76. key = key.join(',');
  77. let copy = ots.querySelector('.keys');
  78. copy.value = key;
  79. copyKey(copy);
  80. });
  81. // Your code here...
  82. })();