Image Favourites

Add favourites for images.

当前为 2016-05-19 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Image Favourites
  3. // @namespace PXgamer
  4. // @version 0.2
  5. // @description Add favourites for images.
  6. // @author PXgamer
  7. // @include *kat.cr/user/*/albums/
  8. // @include *kat.cr/user/*/recentimages/
  9. // @grant GM_getValue
  10. // @grant GM_setValue
  11. // ==/UserScript==
  12. /*jshint multistr: true */
  13.  
  14. (function() {
  15. 'use strict';
  16.  
  17. var dataVal = GM_getValue('favouriteImagesData', '[]');
  18. var data = JSON.parse(dataVal);
  19. var htmlD = '';
  20.  
  21. $('a.turnoverButton.siteButton.bigButton[href$="/albums/"]').before('<a class="turnoverButton siteButton bigButton favouriteImages">Favourites</a><a class="favouritePop" style="display: none;"></a>');
  22. if (location.href.indexOf('/recentimages/') > -1) {
  23. $('a[href^="/image/delete/"][data-id].deleteImageJs').after('<a class="favouriteImageJS topmarg2px absolute" style="margin-left: 25px;"><i class="ka ka16 ka-star"></i></a>');
  24. }
  25.  
  26. $('a.favouriteImages').on('click', function() {
  27. $('a.turnoverButton').removeClass('active');
  28. $('a.favouriteImages').addClass('active');
  29. $('h2').text('Favourites');
  30. $('a[href="/account/newalbum/"]').parent().hide();
  31. $('.pages.botmarg5px.floatright').hide();
  32. var imgCan = $('div.galleryThumbSizerStills.inlineblock:first').parent();
  33. imgCan.html('');
  34.  
  35. if (data.length === 0) {
  36. imgCan.append('<h3>No Favourites Were Found!</h3>');
  37. }
  38. else {
  39. for (var i = 0; i < data.length; i++) {
  40. imgCan.append('<div class="galleryThumbSizerStills inlineblock">\
  41. <a class="topmarg2px leftmarg2px absolute favRemove"><i class="ka ka16 ka-delete ka-green"></i></a>\
  42. <a data-href="'+data[i].imageUrl+'" class="galleryThumb favouritePop">\
  43. <img class="lazyjs" data-id="'+data[i].imageId+'" data-original="'+data[i].imageUrl+'" src="'+data[i].imageUrl+'" style="display: inline;" />\
  44. </a>\
  45. </div>');
  46. }
  47. }
  48. $('a.favouritePop').css('cursor', 'pointer');
  49.  
  50. $('a.favouritePop').on('click', function() {
  51. var imgLoc = $(this).attr('data-href');
  52. var w = ($( window ).width()/100*80);
  53. var h = ($( window ).height()/100*80);
  54. htmlD = '<div style="width: '+w+'px; height: '+h+'px; overflow: auto; scroll: hidden; position:relative;"><img src="'+imgLoc+'" style="width: '+(w-5)+'px; height: '+(h-5)+'px;" /></div>';
  55. $.fancybox(htmlD);
  56. });
  57. });
  58.  
  59. $('a.favouriteImageJS').on('click', function() {
  60. var dataId = $(this).prev('a.deleteImageJs').attr('data-id');
  61. var imageUrl = $(this).next('a.galleryThumb').attr('href');
  62. var dataArr = {
  63. 'imageId': dataId,
  64. 'imageUrl': imageUrl
  65. };
  66. data.push(dataArr);
  67. GM_setValue('favouriteImagesData', JSON.stringify(data));
  68. });
  69. })();