2012-04-30 18 views
6

Czy istnieje biblioteka C# lub dowolne bezpłatne narzędzie, które może przekonwertować plik html z wieloma zasobami referencyjnymi do jednego html "all-in-one"?Jak uwzględnić wszystkie zasoby w jednym pliku html?

Głównym zadaniem jest, aby mieć tylko jeden plik, to znaczy, że trzeba dołączyć

  1. zewnętrznych plików JavaScript - to prawdopodobnie oznaczać będzie wymienić wszystkie znaczniki „script” z „źródło” atrybutu przez „skrypt” znaczniki z zawartością odczytaną z pliku odniesienia.
  2. Obrazy - wymienić src = "Picture.png" z URI danych - coś src = "data: image/png; Base64, encodedContent ..."
  3. pliki CSS
  4. może być czymś zapomniałem :)

Ten plik HTML musi być czytelny we wszystkich przeglądarkach, to dlaczego nie można użyć formatu pliku MHT (nieczytelny na safari, iPad ...)

+0

A dlaczego nie skorzystać z akcji kompilacji "Treść", aby skopiować pliki podczas publikowania? Jaki jest sens tworzenia ich jako zasobów? – Candide

+0

@Ingenu Nie widzę, że odwołuje się do kontekstu kompilacji. Po prostu chce uzyskać dokument HTML z dowolnego adresu URL i uczynić go samodzielnym dokumentem. –

+0

Dokładnie. Nie jestem autorem oryginalnego HTML. – cartas

Odpowiedz

2

można użyć HTML Agility Pack iść odczytu/zapisu dokumentu HTML . Agility HTML obsługuje XPath, więc możesz uzyskać listę węzłów, które chcesz zmodyfikować.

Stosowanie tego powoduje, że zmiana wartości atrybutu tagów graficznych powinna być łatwa. Możesz także uzyskać listę zewnętrznych odnośników js, przeczytać je, a następnie odpowiednio zaktualizować znacznik skryptu.

+0

Wiem o "Pakiecie Agility HTML" i będzie to prawdopodobnie sposób, w jaki będę go używać, jeśli nie znajdę innego rozwiązania. Problemem będzie nie zapomnieć o dodaniu czegoś i będę musiał napisać to wszystko od zera. Dlatego szukam gotowego "rozwiązania". – cartas

Powiązane problemy