2015-02-23 12 views
19

Niedawno Qt wprowadziło moduł QtWebEngine. Czy istnieje sposób wywoływania narzędzi programistycznych i debugowania kodu JavaScript wewnątrz QWebEngineView? Było to możliwe dzięki QWebView wykorzystaniemDebugowanie QtWebEngine

page()->settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true); 

ale nie mogłem znaleźć żadnej podobnej opcji w QWebEngineView.

+0

Wygląda na to, że dokumentacja QWebEngine nie zawiera żadnych informacji na temat tej możliwości. Mam nadzieję, że pojawi się w przyszłych wersjach. – demonplus

Odpowiedz

14

Po prostu przebiegłem to, więc dodałem to tutaj dla potomności.

Został dodany do gitary Qt 5.5. Musisz włączyć to poprzez zmienną środowiskową QTWEBENGINE_REMOTE_DEBUGGING=<port>. Możesz umieścić 0.0.0.0:<port>, jeśli robisz debugowanie wbudowanego urządzenia i nie możesz używać konsoli lokalnej. Następnie możesz wskazać połączenie z http://127.0.0.1: aby pobrać debugger. Musi to być przeglądarka oparta na chromie. Czy musisz używać Chrome, lub jeśli chcesz, możesz użyć przykładu "szybka nano przeglądarka".

+0

Czy próbowałeś używać QtWebEngine do hostowania debuggera zamiast zewnętrznej przeglądarki opartej na Chromium? –

+1

Tak, to działa. To wymaga nieco więcej pamięci RAM. Wydawało się jednak, że działa dokładnie tak samo. –

+0

Czy ktokolwiek jest w stanie to zrobić z Qt 5.5.0 + Chrome 47 na Linux? To działało dobrze kilka miesięcy temu, ale teraz dostaję pustą stronę po wybraniu mojej strony z listy "Sprawdzalne strony": - /. Zgaduję, że to dlatego, że protokół devtools zmienił się w sposób niekompatybilny wstecz. –

1

Od http://blog.qt.io/blog/2015/03/17/qt-5-5-alpha-available/:

Zdalny kontroler może być używany zarówno przez zdefiniowanie zmiennej ENV QTWEBENGINE_REMOTE_DEBUGGING lub poprzez dostarczanie -remote-debugowanie-portowy linii poleceń argumentu. Następnie wskaż przeglądarkę na określonym porcie i sprawdź zawartość internetową.

8

Alternatywnie można osadzić Firebug Lite, aby uzyskać konsolę JavaScript i inspektorów.

Wystarczy dodać

<script type="text/javascript" src="https://getfirebug.com/firebug-lite.js"></script> 

na stronie. Naciśnięcie F12 wyświetli konsolę Firebug.