2015-02-23 18 views
19

Recentemente Qt ha introdotto il modulo QtWebEngine. C'è un modo per richiamare gli strumenti di sviluppo ed eseguire il debug del codice JavaScript all'interno di QWebEngineView? E 'stato possibile con QWebView utilizzandoDebug QtWebEngine

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

ma non sono riuscito a trovare alcuna opzione simile in QWebEngineView.

+0

Sembra che non ci sia nulla nella documentazione su questa possibilità per QWebEngine. Spero che apparirà nelle versioni future. – demonplus

risposta

14

Mi sono imbattuto in questo così ho aggiunto qui per i posteri.

È stato appena aggiunto a git Qt 5.5. Devi abilitarlo tramite una variabile di ambiente QTWEBENGINE_REMOTE_DEBUGGING=<port>. È possibile inserire 0.0.0.0:<port> se si esegue il debug di un dispositivo incorporato e non è possibile utilizzare la console locale. Quindi puoi puntare a connetterti a http://127.0.0.1: per ottenere il debugger. Dovrà essere un browser basato su cromo. Devi utilizzare Chrome oppure puoi effettivamente utilizzare l'esempio "browser nano rapido" se lo desideri.

+0

Hai provato a utilizzare QtWebEngine stesso per ospitare il debugger anziché un browser esterno basato su Chromium? –

+1

Sì, funziona. Richiede solo un po 'di ram. Sembrava funzionare allo stesso modo però. –

+0

Qualcuno è in grado di farlo funzionare con Qt 5.5.0 + Chrome 47 su Linux? Stava funzionando bene un paio di mesi fa, ma ora ottengo solo una pagina vuota quando seleziono la mia pagina dall'elenco "Pagine di ispezione": - /. Suppongo che sia perché il protocollo devtools è cambiato in modo incompatibile all'indietro. –

1

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

L'ispettore remoto può essere utilizzato o con la definizione della variabile env QTWEBENGINE_REMOTE_DEBUGGING, o fornendo la linea di comando -remote-debug-porta. È quindi possibile puntare un browser sulla porta specificata e ispezionare il contenuto Web.

8

In alternativa, è possibile incorporare Firebug Lite per ottenere una console JavaScript e gli ispettori.

Basta aggiungere

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

nella pagina. Premendo F12 verrà visualizzata la console di Firebug.