2015-02-10 1 views
1

Я пытаюсь получить вывод журнала консоли с веб-страницы Qt 5 WebView, но я не могу узнать, как это сделать. Возможно, некоторые из вас там могут мне помочь?Получение выходных данных из Qt 5 WebView?

Я попытался включить веб-инспектора, который должен появиться, когда вы щелкните правой кнопкой мыши на веб-странице, но ничего не происходит, когда я это делаю. Я настроил порт инспектор (на 1111), установив переменную окружения QTWEBKIT_INSPECTOR_SERVER 1111. И я смог получить страницу, которая имеет это на него:

Inspectable web views 

LOG TEST [http://MY_LAN_IP:8880/logtest.html] 

Но когда я нажимаю на ссылку, я получаю это ошибка:

WebSocket connection to 'ws://localhost:1111/devtools/page/1' failed: Error during WebSocket handshake: Sent non-empty 'Sec-WebSocket-Protocol' header but no response was received 
inspector.js:341 Event {clipboardData: undefined, path: NodeList[0], cancelBubble: false, returnValue: true, srcElement: WebSocket…} 
View.js:363 Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check http://xhr.spec.whatwg.org/. 

Для демонстрационных целей у меня есть веб-страницы на локальном веб-сервере, который выглядит следующим образом:

<!DOCTYPE html> 
<html> 
    <head> 
     <title>LOG TEST</title> 
    </head> 
    <body> 
     <h1>Logging to console...</h1> 
     <script> 
      setInterval(function() { 
       console.log("This is a log message"); 
       console.error("This is an error message"); 
      }, 1000); 
     </script> 
    </body> 
</html> 

файл QML выглядит следующим образом:

import QtQuick 2.2 
import QtQuick.Window 2.1 
import QtWebKit 3.0 
import QtWebKit.experimental 1.0 

Window { 
    visible: true 
    width: 360 
    height: 360 

    WebView { 
     url: "http://MY_LAN_IP:8880/logtest.html" 
     anchors.fill: parent 
     experimental.preferences.developerExtrasEnabled: true 
     experimental.preferences.navigatorQtObjectEnabled: false 

    } 
} 

ответ

0

this ссылка Я успешно показываю свои журналы с веб-страницы, встроенной в QML WebView.

В вашем посте вы действительно близки к цели.

Вы должны:

  1. Установите переменную среды выполнения QTWEBKIT_INSPECTOR_SERVER все, что вы хотите (так почему не 1111).
  2. В файле QML импорт QtWebKit.experimental 1,0
  3. и в WebView добавить: Недвижимость Болгария Недвижимость experimental.preferences.developerExtrasEnabled: правда

Затем, когда вы запустите приложение, которое вы должны иметь следующий выходной след:

Inspector server started successfully. Try pointing a WebKit browser to http://127.0.0.1:1111 

для отладки вашей страницы, откройте ваш любимый веб-браузер и перейти на http://127.0.0.1:1111, и его сделали!

Таким образом, интерфейс изменился, в старом QtWebKit вы должны щелкнуть правой кнопкой мыши по веб-представлению для отладки страницы, теперь вы должны подключиться к серверу благодаря веб-браузеру.

Смежные вопросы