2013-04-23 29 views
14

Desidero poter salvare/archiviare pagine HTML come un unico file (senza quelle fastidiose cartelle esterne).Come salvare le pagine html come un unico file?

Desidero che il file risultante contenga tutti gli stili, le immagini e i collegamenti (anche i video e Flash potrebbero essere belli, ma non altrettanto importanti).

Desidero che il file risultante sia ricercabile e modificabile.

Microsoft MHT è uno di questi strumenti, ma sfortunatamente non è ricercabile sotto Linux. MHT è buono, ma non voglio essere bloccato sotto un sistema operativo o una società. Quale sarebbe una buona alternativa - o forse c'è qualche soluzione completamente diversa a cui non stavo pensando?

Grazie in anticipo per i vostri suggerimenti!

risposta

-9
+8

Grazie, @Tyler. Sì, l'idea mi era passata per la testa. Ho il sospetto che Google non generi i propri contenuti, ma in realtà lo trova su varie pagine Web, come StackOverflow. Così sono andato sul mio sito web preferito per fare una domanda: cosa succede se qualcuno qui conosce una risposta migliore dell'autore del post che hai raccomandato? Apprezzerebbe più idee da voi –

+0

Non sono sicuro che sia stato sarcastico o meno. :( Se ciò non funziona o ti piacerebbe un altro modo, prova a utilizzare la funzione di salvataggio come funzione di Google Chrome, per quanto ne so, se scegli .htm come estensione del file lo salverà come un singolo file. –

+4

Grazie, @Tyler. Apprezzo il suggerimento. (Pensavo che quando non sei sicuro di qualcosa, ti basta Google? Kidding. Sì, era del 35% sarcastico. È martedì, lo sai.) –

10

La visualizzazione e la creazione di file MHTML nelle versioni correnti di Google Chrome è supportata passando dall'opzione "Salva pagina come MHTML" nella pagina chrome: // flags.

digita chrome: // flags nella tua casella URL

Tuttavia, l'attivazione di questa opzione sperimentale disabilita il salvataggio delle pagine come file HTML completi-only o HTML. Dalla pagina chrome: // flags:

+0

La bandiera ora semplicemente aggiunge, non commuta l'opzione per mhtml sulla versione 51.0.2704.84 (64-bit) – ItsmeJulian

0

Metti la tua intera pagina in una scatola DIV e utilizzare questo codice come questo:

NOTA : Do non inserire il codice JavaScript sopra la causa DIV, quindi non funzionerà. JavaScript deve essere sotto il div per farlo funzionare.

Esempio:

<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

estensione alla risposta di zTrix, vorrei suggerire di evitare l'estensione Chrome (che non ha funzionato per me a tutti) e invece di andare con una di queste opzioni:

  • Node.js: remy's inliner
    • facile da installare utilizzando npm
    • Molte opzioni, compresi i flag per disabilitare la compressione/minifrazione, mantenere immagini esterne, saltare video e altro.
    • Avvertenza: (22 settembre 2017) non riesce a mantenere la funzionalità di stile e JavaScript durante la compilazione di Slate builds. Questo non influirà direttamente sulla maggior parte delle persone, ma significa che inliner probabilmente avrà problemi con altre pagine. Vedi this issue
    • Avvertenza: nessuna opzione per "lasciare le cose da soli": ridurrà o annullerà CSS/JS o abbellirà, ma non semplicemente incorporerà la fonte originale in HTML.
  • Python 2: zTrix's webpage2html
    • più prudente rispetto inliner; funziona bene per la maggior parte dei casi.
    • zTrix ha risolto un errore (che anche l'inliner sembra avere) che assicura la funzionalità JavaScript/CSS durante la compilazione di Slate builds. Vedi this issue. (aggiornato 29 settembre 2017)
    • può essere converted to Python 3 relativamente indolore
    • Caveat: non può gestire i CSS @import
Problemi correlati