List up IDs/classes used in stylesheets

    
      
  • // @title List up IDs/classes used in stylesheets
    // @description outputs to console.log
    // @license MIT License
    // @javascript_url https://opensource.org/licenses/MIT
    
    console.log(
      [...new Set(
        [...document.styleSheets]
        .reduce((m,s) => {
          try{
            return Array.prototype.concat.apply(m, [...s.cssRules].map(r => (r.selectorText || "").match(/[#\.][-_a-z]+/gi)));
          } catch(x) {
            // > In some browsers, if a stylesheet is loaded from a different domain, calling cssRules results in SecurityError.
            // https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet#Notes
            return m.concat('-- cannot read cssRules for ' + s.href);
          }
        }, []))
      ]
      .filter(x=>x && !x.startsWith('.fa-')) /* fontawesome */
      .sort()
      .join('\n')
    );
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2018/01/21 20:17:09 - 2018-01-21
  2. 2018/01/21 20:15:42 - 2018-01-21