Jak znaleźć nieużywane obrazy i style CSS na stronie internetowej? [Zamknięte]


117

Czy istnieje metoda (inna niż prób i błędów), której mogę użyć, aby znaleźć nieużywane pliki obrazów? A co z deklaracjami CSS dla identyfikatorów i klas, których nawet nie ma w witrynie?

Wygląda na to, że istnieje sposób na napisanie skryptu, który skanuje witrynę, profiluje ją i sprawdza, które obrazy i style nigdy nie są ładowane.


Hej Jon ... przed chwilą (po przeczytaniu pytania i odpowiedzi) zobaczyłem, że to ty zadałeś pytanie. 4 lata później szukam dokładnie tego samego! StackOverflow jest naprawdę niesamowity ... Swoją drogą: po prostu uwielbiam odznakę "Działa na moim komputerze", którą masz w swoim profilu ... Myślę, że pożyczę to! : D
Leniel Maccaferri


Właśnie zredagowałem to pytanie, aby pasowało do zasad SO. Przynajmniej mam taką nadzieję, bo sam naprawdę potrzebuję odpowiedzi!
SMBiggs

Wypróbuj gulp-delete-unused-images dla obrazów
Louis Philippe,

Odpowiedzi:


67

JestByło to rozszerzenie do Firefoksa znajdzieznaleziono nieużywane selektory CSS na stronie. Tomamiał możliwość spajania całej witryny. Wersja 3.01.0powinien może działać z nowszymi wersjami przeglądarki Firefox.

http://www.brothercake.com/dustmeselectors/

A oto inna opcja:

https://addons.mozilla.org/en-US/firefox/addon/css-usage/


2
Tak, to będzie działać tylko na starszej wersji FireFox, ale to: Użycie CSS - dodatek Firefox jest taki sam i będzie działał również z najnowszą wersją.
Andrea Salicetti,

3
Żadna z nich nie działa w 2018 r.
Lonnie Best

74

Nie musisz płacić żadnej usługi sieciowej ani szukać dodatku, masz to już w Google Chrome pod F12 (Inspector)->Audits->Remove unused CSS rules

Zrzut ekranu:Zrzut ekranu

Aktualizacja: 30 czerwca 2017 r

Teraz Chrome 59 zapewnia pokrycie kodu CSS i JS . Zobacz https://developers.google.com/web/updates/2017/04/devtools-release-notes#coverage

wprowadź opis obrazu tutaj


3
To świetnie, dzięki za wskazówkę!
Brian

4
Dobrze jest korzystać z istniejących narzędzi, ale to skanuje tylko załadowaną stronę, a nie całą witrynę?
Mark Cooper

7
Wielkie dzieki. Uważaj na responsywne strony internetowe, ponieważ będziesz musiał załadować je ponownie dla różnych rozmiarów, aby wiedzieć, że co najmniej jeden z tych stylów nie jest używany. Wykrywa tylko style przeglądanej rzutni.
micah

1
Czy jest jakiś sposób, aby uzyskać przycięty plik arkuszy stylów, zamiast ręcznie wykonać proces usuwania?
Daniel Sokolowski

2
Może to nie być odpowiednia opcja w przypadku witryn, które kompresują cały plik css w jednym pliku. Jeśli skontrolujesz określoną stronę, pokaże ona wiele nieużywanych CSS, ale te style będą używane na innych stronach. Więc moim zdaniem audyt pojedynczej strony nie jest dobrym rozwiązaniem.
SaurabhM

19

Na poziomie pliku:

użyj wget do agresywnego przeszukiwania witryny, a następnie przetwórz dzienniki serwera http w celu uzyskania listy plików, do których uzyskano dostęp, porównaj to z plikami w witrynie

diff \
 <(sed some_rules httpd_log | sort -u) \
 <(ls /var/www/whatever | sort -u) \
 | grep something

5
+1 za dodatkowe maniakiem wiersza poleceń!
ngeek

2
Opcja mirror wget to dobry sposób na automatyczne usuwanie nieużywanych i nieużywanych plików, tj wget -m <your site>. Arkusze stylów należy jednak najpierw usunąć z nieużywanych selektorów - wygląda na to, że jest to dobry kandydat do automatycznego tego zadania: developers.google.com/speed/pagespeed/psol
Daniel Sokolowski

10

CSS Redundancy Checker to narzędzie uruchamiane lokalnie, któremu przekazujesz arkusz stylów i listę adresów URL lub katalog plików HTML. Oto opis podany na stronie narzędzia:

Prosty skrypt, który mając arkusz stylów CSS i plik .txt zawierający adresy URL plików HTML lub katalog plików HTML, dokona iteracji po nich wszystkich i wyświetli instrukcje CSS w arkuszu stylów, które nigdy nie są wywoływane w HTML.

Zasadniczo pomaga zachować odpowiednie i kompaktowe pliki CSS. I jest dość dokładny.


6

Jak zauważył Tim Murtaugh w poście na blogu A List Apart „ Two Tools to Keep Your CSS Clean ”:

csscss

csscss przeanalizuje wszystkie podane przez Ciebie pliki CSS i poinformuje Cię, które zestawy reguł mają zduplikowane deklaracje.

I najbardziej istotne w przypadku pytania:
hel-css

Hel to narzędzie do wykrywania nieużywanych CSS na wielu stronach w witrynie internetowej.

Narzędzie jest oparte na języku JavaScript i działa z poziomu przeglądarki.

Helium akceptuje listę adresów URL dla różnych sekcji witryny, a następnie ładuje i analizuje każdą stronę, aby utworzyć listę wszystkich arkuszy stylów. Następnie odwiedza każdą stronę z listy adresów URL i sprawdza, czy selektory znalezione w arkuszach stylów są używane na stronach. Na koniec generuje raport, który szczegółowo opisuje każdy arkusz stylów i selektory, których nie znaleziono na żadnej z podanych stron.


3

Wydaje mi się, że Adobe Dreamweaver lub Adobe Golive mają funkcję znajdowania zarówno osieroconych stylów, jak i obrazów; nie mogę sobie przypomnieć, który teraz. Prawdopodobnie jedno i drugie, ale cechy były dobrze ukryte.


1
Tak, w programie Dreamweaver można znaleźć osierocone pliki. Znajduje się w Witryna> Sprawdź łącza, a następnie zmień listę rozwijaną na Osierocone pliki. Uważaj jednak na linki względne i bezwzględne. Po prostu powiedział mi, że wszystkie moje obrazy są osieroconymi plikami, ponieważ rzeczywiste linki wskazywały na aktywne kopie obrazów w Internecie, a nie na lokalne kopie obrazów.
Stuart Young

3

TopStyle posiada zestaw narzędzi do lokalizowania i postępowania z osieroconymi klasami. Zapewnia również raporty o tym, gdzie identyfikatory i klasy są używane w kodzie HTML, umożliwiając szybkie otwieranie i przeskakiwanie do odpowiednich znaczników. Oto notka ze strony internetowej dotycząca tej funkcji:

Raporty dotyczące witryn: zobacz na pierwszy rzut oka, gdzie w Twojej witrynie są używane style. Dowiedz się, gdzie zastosowano klasy stylów, które nie są zdefiniowane w żadnym arkuszu stylów, lub zobacz, które zdefiniowane przez Ciebie klasy stylów nie są używane.

Bardzo przydatne do analizy nieznanych witryn.

Nie znajduje jednak nieużywanych obrazów.


Dlaczego ta odpowiedź została odrzucona?
Charles Roper

2

Wersja canary Chrome ma na pasku narzędzi programisty opcję „ Pokrycie CSS” jako jedną z eksperymentalnych funkcji programistycznych. Ta opcja pojawia się w zakładce osi czasu i może być użyta do uzyskania listy nieużywanych CSS.

wprowadź opis obrazu tutaj

Pamiętaj, że musisz również włączyć tę funkcję w ustawieniach paska narzędzi programisty. Ta funkcja prawdopodobnie powinna pojawić się w oficjalnej wersji Chrome.

wprowadź opis obrazu tutaj


1

Znalazłem to narzędzie, które działa ze wszystkimi wersjami Firefoksa! Trochę czasu zajmuje nauczenie się, jak to działa, ale po uruchomieniu wydaje się całkiem niezłe. Spowoduje to zapisanie nowej wersji CSS z zaznaczonymi selektorami CSS, dzięki czemu możesz szybko cofnąć, jeśli zajdzie taka potrzeba.

Wykorzystanie CSS - dodatek do przeglądarki Firefox


1

To małe narzędzie zawiera listę reguł CSS używanych przez niektóre pliki HTML.

Tutaj jest na Code Pen

Kliknij Run code snippet, a następnie kliknij, Full pageaby się do niego dostać. Następnie postępuj zgodnie z instrukcjami we fragmencie. Możesz uruchomić go na całej stronie, aby zobaczyć, jak działa z Twoim html / css.

Ale łatwiej jest po prostu dodać do zakładek mój długopis jako narzędzie.

/* CSS CLEANER INSTRUCTIONS
   1. Paste your HTML into the HTML window
   2. Paste your CSS into the CSS window
   5. The web page result now ends with a list of just the CSS used by your HTML!
*/

function cssRecursive(e) {
  var cssList = css(e);
  for (var i = 0; i < e.children.length; ++i) {
    var childElement = e.children[i];
    cssList = union(cssList, cssRecursive(childElement));
  }
  return cssList;
}

function css(a) {
  var sheets = document.styleSheets,
    o = [];
  a.matches = a.matches || a.webkitMatchesSelector || a.mozMatchesSelector || a.msMatchesSelector || a.oMatchesSelector;
  for (var i in sheets) {
    var rules = sheets[i].rules || sheets[i].cssRules;
    for (var r in rules) {
      if (a.matches(rules[r].selectorText)) {
        o.push(rules[r].cssText);
      }
    }
  }
  return o;
}

function union(x, y) {
  return unique(x.concat(y));
};

function unique(x) {
  return x.filter(function(elem, index) {
    return x.indexOf(elem) == index;
  });
};

document.write("<br/><hr/><code style='background-color:white; color:black;'>");
var allCss = cssRecursive(document.body);
for (var i = 0; i < allCss.length; ++i) {
  var cssRule = allCss[i];
  document.write(cssRule + "<br/>");
}
document.write("</code>");


0

Wszystkie wymienione tutaj narzędzia doskonale nadają się do CSS. Nie wiem o programie Dreamweaver & Co. Ale jakiś czas temu stworzyłem mały program, aby pomóc mi uporządkować projekty witryn internetowych

Znajdź-nieużywane-pliki

Nie pomaga w CSS i innych rzeczach, ale zamiast tego w przypadku osieroconych obrazów i innych typów plików.

Mam nadzieję, że to pomoże!



-1

Aby odpowiedzieć na pytanie dotyczące narzędzia do znajdowania nieużywanych plików graficznych, możesz użyć Xenu Link Sleuth do przeszukiwania witryny w celu znalezienia wszystkich obrazów używanych w witrynie. Następnie Xenu poprosi o dostęp do ftp, aby mógł przeszukać twoje katalogi w celu znalezienia osieroconych plików. Nie używałem go jeszcze na serwerze produkcyjnym, ale wydaje mi się, że warto się temu przyjrzeć.

EDYCJA: Musisz tylko uważać, aby nie usunąć obrazów używanych przez javascript.


Dlaczego głosowanie przeciw?
SMBiggs
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.