Gdzie mogę zobaczyć wyjście javascript debug gdy wkhtmltopdf działa w trybie debugowania (--debug-javascript)Debugowanie javascript w wkhtmltopdf
Odpowiedz
Innym (powiedziałbym, najłatwiejszym) sposobem debugowania javascript w WKHTMLTOPDF jest pobranie QT Browser, podstawowej przeglądarki używanej przez WKHTMLTOPDF oraz sprawdzenie wykonania javascript dla twojej strony z poziomu przeglądarki.
Można go pobrać z here
Instrukcji na debugowania JavaScript w QT here
Można w zasadzie debugowania JavaScript w przeglądarce QT tak samo jak w Chrome lub Firefox.
Świetna odpowiedź. Właśnie zrobiłem to i stwierdziłem, że miałem błąd składni w moim JavaScript, który nie został wykryty przez Chrome ani Firefox. Miałem literał obiektowy, który nie używał słowa kluczowego function. tj. 'var myObj = {foo (bar, baz) {/ * kod funkcji tutaj * /}}', który powinien być 'var myObj = {foo: function (bar, baz) {/ * tutaj kod funkcji * /} } 'Przeglądarka QtWeb wyrzuciła je dla mnie, aby łatwo zobaczyć w konsoli. – kohloth
@kohloth Cieszę się, że mogę pomóc! –
Tak! Zadziałało! –
Rendering test.html
<!DOCTYPE html>
<html>
<head></head>
<body>
BODY
<script>
console.log('Hi!');
</script>
</body>
</html>
tak
wkhtmltopdf test.html test.pdf --debug-javascript
powinien zwrócić coś takiego
Loading pages (1/5)
Warning: :0 Hi!
Resolving links (2/5)
Counting pages (3/5)
Printing pages (5/5)
Done
Mimo, że odpowiedź Daffy'ego jest poprawna, kilka tygodni temu miałem dodatkowy pomysł, który bardzo mi pomógł. To chcę podzielić: pokaż go wewnątrz PDF
Podczas renderowania układ dla PDF umieścić dodatkowy (ukryty) DIV #pdf_errors
i bardzo wcześnie w źródle - jeśli #pdf_errors
jest tutaj - I niech moc konsoli punkt do wypełnienia ten div i błąd - pokazuję to. Nie jest to debugowanie, ale przynajmniej widzę, co się stało.
Źródło w coffeescript moi zwykły javascript czasy dawno już minęły ...
if ($pdf=$("#pdf_is_here")).length
for type in ["log","warn","error"]
do (type) =>
console[type]= (a...) =>
$pdf.append("<div class='#{type}'>#{s}</div>") for s in a
window.onerror= (messageOrEvent, source, lineno, colno, error) =>
$pdf.append("<div class='critical'>#{messageOrEvent}</div>")
$pdf.show()
$pdf.hide() # just in case css is not here
- 1. Debugowanie JavaScript w IE
- 2. Debugowanie javascript w operze mini
- 3. wkhtmltopdf segfaults
- 4. Debugowanie dynamicznie dodawane pliki javascript
- 5. wkhtmltopdf automatyczne łamanie stron
- 6. Debugowanie JavaScript w Visual Studio 2008
- 7. Debugowanie skryptów JavaScript w Chromium Embedded Framework
- 8. wkhtmltopdf - Wyłączanie łamania strony
- 9. Visual Studio JavaScript debugowanie bardzo powolne
- 10. Debugowanie autoproxy (PAC) javascript z alertem()?
- 11. Interaktywne debugowanie javascript (odpowiednik pdb.set_trace()) Pythona:
- 12. Wyklucz debugowanie kodu JavaScript podczas zminimalizowania
- 13. Ustaw punkty przerwania i debugowanie eval'd JavaScript
- 14. Debugowanie JavaScript API dla pakietu Office
- 15. wkhtmltopdf rozmiary css w cm/mm
- 16. Komenda wkhtmltopdf kończy się niepowodzeniem.
- 17. Nagłówek wkhtmltopdf na każdej stronie
- 18. Debugowanie QtWebEngine
- 19. wkhtmltopdf OpenLayers V3 nie powiodło się
- 20. Zdobądź wkhtmltopdf, aby rozpoznać folder czcionek użytkownika
- 21. wkhtmltopdf - ta sama konfiguracja różni się wyjściem
- 22. Debugowanie tras w codeigniter?
- 23. Debugowanie w OpenERP 7.0
- 24. Zdalne debugowanie w VB6
- 25. Debugowanie w JRuby 9000
- 26. Debugowanie JBoss w Eclipse
- 27. Debugowanie w przeglądarkach mobilnych?
- 28. debugowanie spacje w VBA
- 29. Debugowanie w PIG UDF
- 30. PHP debugowanie w XAMPP
Czy działa to w wierszu poleceń/terminalu? Powinien się wydrukować po wykonaniu pliku wkhtmltopdf. Należy pamiętać, że jest to tylko drukowanie zarejestrowanych zdarzeń, a nie wszystko, co robi javascript. Ponadto, jeśli używasz przełącznika '--quiet', nie wydrukuje on żadnych informacji debugowania. – matth