SC: highlight hypeddits

highlight tracks with hypeddit or otherwise download/buy link

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name        SC: highlight hypeddits
// @namespace   Violentmonkey Scripts
// @match       https://soundcloud.com/*
// @grant       none
// @version     0.1.3
// @author      -
// @description highlight tracks with hypeddit or otherwise download/buy link
// @license     GPLv3
// ==/UserScript==

(function() {
  'use strict';

  function process(track) {
    const link = track.querySelector('a.soundActions__purchaseLink');
    if (!link) { return; }
    if (link.href.includes('hypeddit.com/')) {
      track.querySelector('a.sc-link-primary').style.background = '#f5d5eb';
    } else {
      track.querySelector('a.sc-link-primary').style.background = '#d5ebf5';
    }
  }

  const observer = new MutationObserver(() => {
      document.querySelectorAll('div.sound__content').forEach(elm => process(elm) );
    });
  observer.observe(document.querySelector('#app'), { childList: true, subtree: true });


})();