Twitter - Match username with user color

Change the color of the username to match with the desired user color

当前为 2016-04-14 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Twitter - Match username with user color
  3. // @copyright hzmen1 <hzmen1@hotmail.com>
  4. // @version 3.4.1.2
  5. // @namespace https://greasyfork.org/users/11517
  6. // @homepageURL https://greasyfork.org/scripts/9952
  7. // @description Change the color of the username to match with the desired user color
  8. // @match *://twitter.com/*
  9. // @include /^https?://twitter.com
  10. // @grant none
  11. // @author hzmen1
  12. // @license (CC) by-nc-sa 3.0
  13. // @run-at document-end
  14. // ==/UserScript==
  15.  
  16. (function (win) {
  17. var main = function () {
  18. Array.prototype.slice.call(win.document.querySelectorAll('[href*="t.co"]'), 0) .forEach(function (el) {
  19. if (el.dataset && el.dataset.expandedUrl) {
  20. el.href = el.dataset.expandedUrl;
  21. }
  22. });
  23. };
  24. main();
  25. win.onscroll = main;
  26. }) (window);
  27.  
  28. setInterval(function(){someFunction();},750);
  29.  
  30. function someFunction(){
  31. var k=$(".u-textUserColor").css('color');
  32. jQuery.fn.brightness = function(){var bg_color,rgba,y;bg_color=this.css('color');if((bg_color!==null)&&bg_color.length){rgba = bg_color.match(/^rgb(?:a)?\(([0-9]{1,3}),\s([0-9]{1,3}),\s([0-9]{1,3})(?:,\s)?([0-9]{1,3})?\)$/);if(rgba!==null){if(rgba[4]==='0'){if(this.parent().length) return this.parent().brightness();
  33. }else{y=2.99*rgba[1]+5.87*rgba[2]+1.14*rgba[3];return(y);}}}else{if (this.parent().length) return this.parent().brightness();}};
  34.  
  35. var damn = jQuery('.u-textUserColor').brightness();
  36.  
  37. if(damn<245){
  38. $('a,.btn-link,.btn-link:focus,.icon-btn,.pretty-link b,.pretty-link:hover s,.pretty-link:hover b,.pretty-link:focus s,.pretty-link:focus b,.metadata a:hover,.metadata a:focus,.account-group:hover .fullname,.account-group:focus .fullname,.account-summary:focus .fullname,.message .message-text a,.stats a strong,.plain-btn:hover,.plain-btn:focus,.dropdown.open .user-dropdown.plain-btn,.open > .plain-btn,#global-actions .new:before,.module .list-link:hover,.module .list-link:focus,.UserCompletion-step:hover,.stats a:hover,.stats a:hover strong,.stats a:focus,.stats a:focus strong,.profile-modal-header .fullname a:hover,.profile-modal-header .username a:hover,.profile-modal-header .fullname a:focus,.profile-modal-header .username a:focus,.find-friends-sources li:hover .source,.stream-item a:hover .fullname,.stream-item a:focus .fullname,.stream-item .view-all-supplements:hover,.stream-item .view-all-supplements:focus,.tweet .time a:hover,.tweet .time a:focus,.tweet .details.with-icn b,.tweet .details.with-icn .Icon,.tweet .tweet-geo-text a:hover,.stream-item:hover .original-tweet .details b,.stream-item .original-tweet.focus .details b,.stream-item.open .original-tweet .details b,.client-and-actions a:hover,.client-and-actions a:focus,.dismiss-btn:hover b,.tweet .context .pretty-link:hover s,.tweet .context .pretty-link:hover b,.tweet .context .pretty-link:focus s,.tweet .context .pretty-link:focus b,.list .username a:hover,.list .username a:focus,.list-membership-container .create-a-list,.list-membership-container .create-a-list:hover,.card .list-details a:hover,.card .list-details a:focus,.card .card-body:hover .attribution,.card .card-body .attribution:focus,.new-tweets-bar,.onebox .soccer ul.ticker a:hover,.onebox .soccer ul.ticker a:focus,.remove-background-btn,.stream-item-activity-notification .latest-tweet .tweet-row a:hover,.stream-item-activity-notification .latest-tweet .tweet-row a:focus,.stream-item-activity-notification .latest-tweet .tweet-row a:hover b,.stream-item-activity-notification .latest-tweet .tweet-row a:focus b').each(function(){$(this).addClass('ScriptTest');});}
  39.  
  40. $('.ProfileHeaderCard-nameLink,.ProfileNameTruncated-link').each(function(){$(this).removeClass('u-textInheritColor');});
  41. $('.bird-topbar-etched,.ProfileHeaderCard-location,.DashboardProfileCard-name,.Icon--person,.PhotoRail-heading,.ProfileHeaderCard-joinDate,.ProfileHeaderCard-url,.ProfileHeaderCard-birthdate,.ProfileHeaderCard-vineProfile,.ProfileNameTruncated-link,.stream-end,.back-to-top,.player-container,.Icon--mediaplay,.OldMedia-attributionName,.Icon--verified,.Icon--protected,.Icon--translator,.twitter-atreply,.twitter-hashtag,.GridTimeline-footerIcon,.permalink .stream-end .Icon--logo,.GalleryNav-handle').each(function(){$(this).addClass('u-textUserColor');}
  42. );
  43. $('.avatar,.ProfileAvatar,.hovercard.profile-card .ProfileCard-avatarImage,.DashboardProfileCard-avatarImage,.DMAvatar-image,.ProfileCard-avatarImage').each(function(){$(this).addClass('u-borderUserColor');});
  44. $('.PermalinkOverlay-spinner,.DMSpinner,.show-more-spinner,#trend-locations-loading,.DMConversation-spinner,.DMInbox-spinner,.pushstate-spinner,.spinner-bigger,.stream-end-inner .spinner,.GridTimeline .has-more-items .spinner').each(function(){$(this).css({"border-left-color":k});});
  45.  
  46. $('.ProfileNameTruncated-link').addClass('bypassuser');
  47. $('.ProfileNameTruncated-link').removeClass('ProfileNameTruncated-link');
  48.  
  49. $('.util-link-complex-target').removeClass('util-link-complex-target');
  50. $('.twitter-atreply').removeClass('pretty-link');
  51. $('.twitter-hashtag').removeClass('pretty-link');
  52. }