Apple Music Web Optimizer

Remove backdrop-filter & box-shadow, turns blur to solid color

スクリプトをインストールするには、Tampermonkey, GreasemonkeyViolentmonkey のような拡張機能のインストールが必要です。

You will need to install an extension such as Tampermonkey to install this script.

スクリプトをインストールするには、TampermonkeyViolentmonkey のような拡張機能のインストールが必要です。

スクリプトをインストールするには、TampermonkeyUserscripts のような拡張機能のインストールが必要です。

このスクリプトをインストールするには、Tampermonkeyなどの拡張機能をインストールする必要があります。

このスクリプトをインストールするには、ユーザースクリプト管理ツールの拡張機能をインストールする必要があります。

(ユーザースクリプト管理ツールは設定済みなのでインストール!)

このスタイルをインストールするには、Stylusなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus などの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus tなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

(ユーザースタイル管理ツールは設定済みなのでインストール!)

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください
// ==UserScript==
// @name         Apple Music Web Optimizer
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Remove backdrop-filter & box-shadow, turns blur to solid color
// @author       mhendaa
// @match        https://music.apple.com/*
// @icon         https://music.apple.com/favicon.ico
// @grant        none
// @run-at       document-idle
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';
    var s = document.createElement('style');
    s.textContent = '*,*::before,*::after{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important}';
    document.head.appendChild(s);
    var bg = 'rgba(18,18,18,0.85)';
    function p(e) {
        if (getComputedStyle(e).backdropFilter !== 'none')
            e.style.cssText += ';backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background-color:' + bg + '!important';
    }
    document.querySelectorAll('*').forEach(p);
    new MutationObserver(m => m.forEach(r => r.addedNodes.forEach(n => {
        if (n.nodeType === 1) {
            p(n);
            n.querySelectorAll('*').forEach(p);
        }
    }))).observe(document.body, { childList: true, subtree: true });
})();