Greasy Fork 还支持 简体中文。

KAT Meta Integration

Adds a KAT link to other sites using KAT.

  1. // ==UserScript==
  2. // @name KAT Meta Integration
  3. // @namespace pxgamer
  4. // @version 0.5
  5. // @description Adds a KAT link to other sites using KAT.
  6. // @author pxgamer
  7. // @include *giantbomb.com/*/3030-*
  8. // @include *imdb.com/title/tt*
  9. // @include *trakt.tv/movies/*
  10. // @include *trakt.tv/shows/*
  11. // @include *anidb.net/perl-bin/animedb.pl?show=anime&aid=*
  12. // @grant none
  13. // ==/UserScript==
  14. /*jshint multistr: true */
  15.  
  16. (function() {
  17. 'use strict';
  18. var kt = {};
  19.  
  20. kt = {
  21. init: function() {
  22. kt.cor = false;
  23. kt.isValid = false;
  24. kt.url = location.href;
  25. if (kt.url.indexOf('giantbomb.com/') > -1) {
  26. kt.glin = 'https://kat.cr/g-g';
  27. kt.gurl = kt.url.split('/')[4].split('-')[1];
  28. kt.kurl = kt.glin + kt.gurl + '/';
  29. kt.cor = true;
  30. }
  31. else if (kt.url.indexOf('imdb.com/') > -1) {
  32. kt.glin = 'https://kat.cr/i-i';
  33. kt.gurl = kt.url.split('/')[4].split('tt')[1];
  34. kt.kurl = kt.glin + kt.gurl + '/';
  35. kt.cor = true;
  36. }
  37. else if (kt.url.indexOf('trakt.tv/') > -1) {
  38. if (kt.url.indexOf('/movies/') > -1) {
  39. kt.glin = 'https://kat.cr/i-i';
  40. }
  41. else if (kt.url.indexOf('/shows/') > -1) {
  42. kt.glin = 'https://kat.cr/i-tv';
  43. }
  44.  
  45. if ($('h1').text().indexOf('Movies') == -1 && $('h1').text().indexOf('Shows') == -1) {
  46. kt.isValid = true;
  47. }
  48.  
  49. if (kt.isValid) {
  50. kt.gurl = $('div.sidebar ul.external li a[href^="http://www.imdb.com/"]').attr('href').split('/')[4].split('tt')[1];
  51. kt.kurl = kt.glin + kt.gurl + '/';
  52. kt.cor = true;
  53. }
  54. }
  55. else if (kt.url.indexOf('anidb.net/') > -1) {
  56. if (kt.url.indexOf('show=anime&aid=') > -1) {
  57. kt.glin = 'https://kat.cr/i-a';
  58. kt.gurl = kt.url.split('&aid=')[1];
  59. kt.kurl = kt.glin + kt.gurl + '/';
  60. kt.cor = true;
  61. }
  62. }
  63. else {kt.cor = false;}
  64.  
  65. if (kt.checkAvail()) {
  66. if (kt.cor) {
  67. kt.addFeatures();
  68. }
  69. }
  70. },
  71. addFeatures: function() {
  72. if (kt.url.indexOf('giantbomb.com/') > -1) {
  73. $('ul.system-list').append('<li class="system"><a href="'+kt.kurl+'" target="_blank"><img src="https://pximg.xyz/images/377713844639dbc0456d2dfd483d8f13.png"/></a></li>');
  74. }
  75. else if (kt.url.indexOf('imdb.com/') > -1) {
  76. $('.winner-option.watch-option').after('<div class="watch-option secondary-watch-option blueBadgeImdb"><a href="'+kt.kurl+'" target="_blank">\
  77. <div class=""><img src="https://pximg.xyz/images/8fbebe200ba1c18b65ab0a6374ea5d7b.png" style="width: 34px; height: 30px;" /></div>\
  78. <div class="secondary-info">ON&nbsp;KAT</div>\
  79. </a></div>');
  80. $( "div.blueBadgeImdb" ).hover(
  81. function() {
  82. $( this ).css( 'background', '#136CB2' );
  83. },
  84. function() {
  85. $( this ).css( 'background', '#EEEEEE' );
  86. }
  87. );
  88. }
  89. else if (kt.url.indexOf('trakt.tv/') > -1) {
  90. $('div.sidebar ul.external').append('<li><a target="_blank" href="'+kt.kurl+'">Kickass<div class="fa fa-external-link"></div></a></li>');
  91. }
  92. else if (kt.url.indexOf('anidb.net/') > -1) {
  93. $('#tabbed_pane ul.tabs li.save_as_default.tab.fake').before('<li class="tab" style="margin-right: 5px;"><a target="_blank" href="'+kt.kurl+'" style="color: black;">Kickass</a></li>');
  94. }
  95. else {}
  96. },
  97. checkAvail: function() {
  98. // REMOVE THIS LATER
  99. //return true;
  100. var returnedData;
  101. $.ajax({
  102. type: "GET",
  103. url: kt.kurl,
  104. async: false,
  105. success: function (data) {
  106. returnedData = data;
  107. },
  108. returnData: "json"
  109. });
  110. if (returnedData.indexOf('<div class="errorpage">') == -1) {
  111. return true;
  112. }
  113. return false;
  114. }
  115. };
  116.  
  117. kt.init();
  118.  
  119. console.info(kt);
  120. })();