AntiImportant

Tarayıcı üzerinde çalışan !important temizleme kütüphanesi

このスクリプトは単体で利用できません。右のようなメタデータを含むスクリプトから、ライブラリとして読み込まれます: // @require https://update.greasyfork.org/scripts/582798/1851893/AntiImportant.js

スクリプトをインストールするには、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         AntiImportant
// @namespace    http://tampermonkey.net/
// @version      1
// @description  Tarayıcı üzerinde çalışan !important temizleme kütüphanesi
// @author       Atilla
// @license MIT
// ==/UserScript==
((rootElement) => {
  // İç fonksiyon: Sadece verilen elemanı ve alt elemanlarını temizler
  const clean = (el) => {
    if (!el || el.nodeType !== 1) return;
    
    const elements = [el, ...el.querySelectorAll("*")];
    
    elements.forEach((node) => {
      const style = node.style;
      if (!style || style.length === 0) return;

      // Performans için canlı listeyi diziye kopyala
      const props = Array.from(style);
      props.forEach((prop) => {
        if (style.getPropertyPriority(prop) === "important") {
          style.setProperty(prop, style.getPropertyValue(prop), "");
        }
      });
    });
  };

  // 1. Mevcut DOM'u temizle
  clean(rootElement);

  // 2. Yeni eklenenleri takip et ve temizle
  new MutationObserver((mutations) => {
    mutations.forEach((m) => m.addedNodes.forEach(clean));
  }).observe(rootElement, { childList: true, subtree: true });
})(document.body);