Я пытаюсь получить вывод журнала консоли с веб-страницы 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
}
}