2012-04-13 13 views

Odpowiedz

14

To powinno zrobić i będzie chwycić nie wszystkie strony tylko ciało

console.log(document.getElementsByTagName('html')[0].innerHTML); 
+1

jest to prawdopodobnie lepsze, ale znowu problem polega na zapisaniu go. może potrzebować bookmarklet nie? – user420667

+0

zależy od tego, gdzie chcesz go zapisać, możesz przypisać go do zmiennej, wykonać wywołanie ajax i zapisać w bazie danych lub jako plik. – GillesC

+1

ale to wszystko wymaga ode mnie wstrzyknięcia mojego skryptu na stronę, prawda? – user420667

3

document.body.innerHTML spowoduje wyświetlenie reprezentacji HTML aktualnej treści dokumentu.

To niekoniecznie będzie obejmowało cały stan wewnętrzny obiektów DOM, ponieważ kod HTML zawiera początkowy domyślny stan obiektów, niekoniecznie stan, w którym mogły zostać zmienione. Jedynym sposobem na zagwarantowanie, że uzyskasz cały ten stan, jest utworzenie listy stanów, które chcesz zapisać i programowo uzyskać ten stan.

Aby odpowiedzieć na część pytania dotyczącego jej zapisania, musisz opisać więcej na temat problemu, który naprawdę chcesz rozwiązać

+0

fajne ... ale czy potrzebuję sposobu, aby to zapisać? Czy powinienem po prostu utworzyć skryptozakładkę, która kopiuje do schowka dokument.body.innerHTML? – user420667

+0

@ user420667 - Będziesz musiał opisać więcej na temat problemu, który naprawdę chcesz rozwiązać, aby odpowiedzieć dalej. – jfriend00

+0

Problem: odwiedzam stronę internetową, chcę ją zapisać i jej stan) po interakcji z nią. – user420667

17

w Chrome (i najwyraźniej Firefox), nie jest to metoda specjalnego copy(), która skopiuje świadczonych treści do schowka. Następnie możesz zrobić, co chcesz, wklejając go do preferowanego edytora tekstu.

https://developers.google.com/chrome-developer-tools/docs/commandline-api#copyobject

konsoli przykład:

kopiowaniem (document.body.innerHTML);

Uwaga: po uruchomieniu metody zauważyłem, że raporty Chrome są niezdefiniowane, jednak wydaje się, że działają poprawnie, a właściwa zawartość znajduje się w schowku.

+1

Fantastyczne! Szukałem tego od wieków. Nie mam pojęcia, dlaczego nie jest wyższa - to dokładnie to, co potrzebne. Dzięki! – digitaltoast

+1

ZBAWIŁEŚ MOJE ŻYCIE! – tamtom

Powiązane problemy