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.