In qt4 qml dem qtwebkit 1.0 hat die Komponente webview eine Eigenschaft javaScriptWindowObjects
. Ich habe es verwendet, um JavaScriptWindowObjects zum Kontext meiner Webseiten Javascript hinzuzufügen, um C++ Funktionen aufzurufen. wie soC++ - Methode aus Webansichten aufrufen JavaScript
WebView{
url: "http://test.com"
anchors.fill: parent
scale: 1.0
javaScriptWindowObjects: QtObject {
WebView.windowObjectName: "native"
function foo(x, y) {
console.log("This is a call from javascript");
myCppHandler.fooNative(b,c);
}
}
}
, so kann ich es von den Web-Seiten JavaScript aufrufen wie so
<script type="text/javascript">
native.foo(1,2)
</script>
aber in QT5 qml QtWebKit 3.0 gibt es nicht so etwas wie javaScriptWindowObjects
Wie kann ich das erreichen in qt5 qml?
Bindung Diese ist faszinierend, b Aber ich habe festgestellt, dass beim Einschalten des Experimentalmodus trotz der zusätzlichen Funktionalität einige seltsame Dinge mit den Seitensteuerungen passiert sind. Die Kontrollkästchen und Optionsfelder wurden verwackelt, die Bildlaufleisten verschwanden (wenn ich sie mit DIVs anschaltete) und das SELECT-Element funktionierte nicht mehr. Es ist definitiv eine Tech-Vorschau nur in Qt 5.5 - nicht bereit für die Primetime. – Volomike
@Volomike Ich habe nicht viel Zeit für Qml und vor allem in diesem Thema seit der Veröffentlichung dieser Anwendung im März 2013 investiert. Ich frage mich, Sie betrachten dies als eine Vorschau. Zu der Zeit des Schreibens war es. Heute würde ich vermuten, dass es dort eine stärkere Implementierung gibt, die nicht "experimental" vorangestellt ist. Leider habe ich jetzt keine Zeit, dies weiter zu untersuchen, aber diese Antwort scheint veraltet zu sein und muss sowieso "refactoring" werden. –
Qt 5.6 ist Beta ab 2015 Nov 20, aber sie enthalten QtWebView (nicht mit QWebView zu verwechseln) darin mit der Tech-Vorschau von Minibrowser ebenso. Ich habe Qt 5.6 Beta noch nicht ausprobiert. In der Zwischenzeit gibt es eine lebhafte Diskussion mit Entwicklern, die sich über die Richtung der Webkomponenten in Qt nach 5.5 aufregen: http://forum.qt.io/topic/55504/anyone-knows-the-future-of-qt-webkit – Volomike