inthemix hax for extreme postlords

because posting is a cool hobby

目前为 2015-10-05 提交的版本。查看 最新版本

  1. // ==UserScript==
  2. // @name inthemix hax for extreme postlords
  3. // @namespace https://greasyfork.org/users/4295-rwslol
  4. // @description because posting is a cool hobby
  5. // @license WTFPL 2.0
  6. // @include http://www.inthemix.com.au/forum/showthread.php?*
  7. // @include http://www.inthemix.com.au/forum/showpost.php?*
  8. // @include http://www.inthemix.com.au/forum/newreply.php?*
  9. // @require http://code.jquery.com/jquery-1.11.1.min.js
  10. // @version 2.2.0
  11. // @grant none
  12. // ==/UserScript==
  13.  
  14. // one uses jquery, now TWO others don't. call the cops idgaf
  15. // might combine them more elegantly later but probably not lol who cares
  16.  
  17. // swagometer
  18. dls = document.getElementsByTagName('dl');
  19. for (i = 0; i < dls.length; i++) {
  20. // lol just do everything with innerHTML nobody will care
  21. m = dls[i].innerHTML.match(/<\/span>[\r\n ]*([0-9,]+)[\r\n ]*<\/div>/i);
  22. likes = parseInt(m[1].replace(',', ''));
  23. m = dls[i].innerHTML.match(/info-second-amt">[\r\n ]*([0-9,]+)[\r\n ]*<\/dd>/i);
  24. posts = parseInt(m[1].replace(',', ''));
  25. swag = parseInt(likes / posts * 100000) / 1000;
  26. dls[i].innerHTML += '<dt style="border: 0; border-top: 1px solid #ccc">Swag</dt><dd style="border: 0; border-top: 1px solid #ccc; width: 100px">' + swag + '%</dd>';
  27. }
  28.  
  29.  
  30.  
  31. // cats
  32. $(function() {
  33. var catHtml = function() {
  34. $(this).html('<img src="http://thecatapi.com/api/images/get?category=sunglasses#' + Math.random() + '">');
  35. };
  36. $('.post-content a[href="profile.php?do=editlist"]').closest('.post-content').each(catHtml);
  37. });
  38.  
  39.  
  40.  
  41. // youtube & soundcloud unfucker
  42. var objects = document.body.getElementsByTagName('object');
  43. for (var i = 0; i < objects.length; i++) {
  44. var params = objects[i].getElementsByTagName('param');
  45. for (var j = 0; j < params.length; j++) {
  46. if (params[j].getAttribute('name') == 'movie') {
  47. var url = params[j].getAttribute('value').match(/^https?:\/\/(www\.)?youtube\.com\/v\/([a-zA-Z0-9_-]{11})/i);
  48. if (url) {
  49.  
  50. // youtube
  51. var src = 'https://www.youtube.com/embed/' + url[2] + '?rel=0';
  52. var start = params[j].getAttribute('value').match(/start=([0-9]+)/i);
  53. if (start) {
  54. src += '&start=' + start[1];
  55. }
  56. var iframe = document.createElement('iframe');
  57. iframe.setAttribute('width', 960);
  58. iframe.setAttribute('height', 720);
  59. iframe.setAttribute('src', src);
  60. iframe.setAttribute('frameborder', 0);
  61. iframe.setAttribute('allowfullscreen', true);
  62. objects[i].parentNode.insertBefore(iframe, objects[i]);
  63. objects[i].parentNode.removeChild(objects[i]);
  64. i--; //lol
  65. break;
  66. } else {
  67. var url = params[j].getAttribute('value').match(/^https?:\/\/player\.soundcloud\.com\/player\.swf\?url=(.*?)&/i);
  68. if (url) {
  69.  
  70. // soundcloud
  71. var src = 'https://w.soundcloud.com/player/?url=' + url[1] + '&amp;color=0082c8&amp;auto_play=false&amp;hide_related=true&amp;show_comments=false&amp;show_user=true&amp;show_reposts=false';
  72.  
  73. var iframe = document.createElement('iframe');
  74. iframe.setAttribute('width', '100%');
  75. iframe.setAttribute('height', 166);
  76. iframe.setAttribute('src', src);
  77. iframe.setAttribute('frameborder', 0);
  78. iframe.setAttribute('scrolling', 0);
  79.  
  80. objects[i].parentNode.insertBefore(iframe, objects[i]);
  81. objects[i].parentNode.removeChild(objects[i]);
  82. i--; //lol
  83. break;
  84. }
  85. }
  86. }
  87. }
  88. }