2013-04-23 20 views
14

Chcę móc zapisywać/archiwizować strony HTML jako jeden plik (bez tych brzydkich zewnętrznych folderów).Jak zapisać strony html jako jeden plik?

Chcę, aby wynikowy plik zawierał wszystkie style, obrazy i łącza (filmy i Flash byłyby również dobre, ale nie tak ważne).

Chcę, aby wynikowy plik można było wyszukać i edytować.

Microsoft MHT jest jednym z takich narzędzi, ale niestety nie można go przeszukiwać pod Linuksem. MHT jest dobre, ale nie chcę być zablokowany pod jednym systemem operacyjnym lub jedną firmą. Co byłoby dobrą alternatywą - a może jest zupełnie inne rozwiązanie, o którym nie myślałem?

Z góry dziękujemy za sugestie!

Odpowiedz

-9

Czy próbowałeś już Googling? Trzecie łącze w dół. http://cybernetnews.com/save-webpage-single-html-file/

+8

Dziękuję @Tyler. Tak, pomysł przyszedł mi do głowy. Mam jednak podejrzenie, że Google nie generuje własnej zawartości, ale faktycznie znajduje ją na różnych stronach internetowych, takich jak StackOverflow. Poszedłem więc na moją ulubioną stronę internetową, aby zadać pytanie: co, jeśli ktoś tutaj zna lepszą odpowiedź niż autor polecanego przez ciebie postu? Doceniłbym więcej pomysłów od ciebie. –

+0

Nie jestem pewien, czy to było sarkastyczne, czy nie. :( Jeśli to nie działa lub chciałbyś w inny sposób, spróbuj użyć wbudowanej funkcji zapisywania Google Chrome, o ile wiem, jeśli wybierzesz .htm jako rozszerzenie pliku, które zapisze jako pojedynczy plik file: –

+4

Dziękuję, @Tyler. Doceniam sugestię. (Myślałem, że kiedy czegoś nie wiesz, po prostu Google to jest żartobliwe ... Tak, to było około 35% sarkastyczne.) Jest wtorek, wiesz.) –

10

Wyświetlanie i tworzenie plików MHTML w aktualnych wersjach Google Chrome jest obsługiwane przez przełączanie opcji "Zapisz stronę jako MHTML" na stronie chrome: // flags.

typu chrome: // flags w polu url

Jednak włączenie tej opcji eksperymentalny wyłącza zapisywanie stron jako HTML lub HTML tylko kompletne plików. Z chrome: // flags strony:

+0

Flaga teraz po prostu dodaje, nie przełącza opcji dla mhtml w wersji 51.0.2704.84 (64-bit) – ItsmeJulian

0

umieścić swoją całą stronę w polu div i użyć tego kodu tak:

UWAGA : Czy nie umieścić JavaScript powyżej przyczyny DIV, a następnie nie będzie działać. JavaScript musi być pod div, aby działał.

Przykład:

<div id="content"> 
    <h1>Hello world</h1> 
    <i>Hi everybody</i> 
</div> 
<button class="download">Download</button> 


<script src="http://code.jquery.com/jquery-1.11.2.min.js"></script> 
<script> 
    $('.download').on('click', function(){ 
     $('<a />').attr({ 
       download: 'export.html', 
       href: "data:text/html," + $('#content').html() 
     })[0].click() 
    }); 
</script> 
3

Rozszerzenie na odpowiedź zTrix za, chciałbym zasugerować unikając rozszerzenie Chrome (która nie działa na mnie w ogóle), a zamiast tego będzie z jedną z następujących opcji:

  • node.js: remy's inliner
    • Łatwa instalacja za pomocą npm
    • Wiele opcji, w tym flagi dotyczące wyłączania funkcji minimalizacji/kompresji, obsługi zewnętrznych obrazów, pomijania filmów i innych.
    • Zastrzeżenie: (22 września 2017 r.) Podczas kompilowania Slate builds nie zachowano funkcji stylizacji ani JavaScriptu. Nie wpłynie to bezpośrednio na większość ludzi, ale oznacza to, że prawdopodobnie inliner będzie miał problemy z innymi stronami. Zobacz this issue
    • zastrzeżenie: nie ma opcji „zostawić rzeczy sam”: albo będzie Minify/CSS/JS zeszpecić lub upiększyć, ale nie będzie po prostu umieścić oryginalne źródło w HTML.
  • Python 2: zTrix's webpage2html
    • bardziej konserwatywne niż Inliner; działa dobrze w większości przypadków.
    • ZTrix naprawił błąd (który wydaje się mieć także inliner), który zapewnia funkcjonalność JavaScript/CSS podczas kompilowania Slate builds. Zobacz this issue. (aktualizacja 29 września 2017)
    • może być stosunkowo bezboleśnie converted to Python 3
    • Zastrzeżenie: nie może obsłużyć css @import
Powiązane problemy