[Interest] resturn string to javascript inside QWebEngineView
Roland Hughes
roland at logikalsolutions.com
Sat Dec 15 21:35:17 CET 2018
Turns out the problem wasn't mine. Previously we had been using
websockets but now websockets are bad so went with Web channel. Honestly
believed the bug was mine since the captive Web site worked fine with
websocket previously. Turns out it wasn't. Latest "front end" code has
html, angular, javascript and half a dozen other things. Because of
that, when they execute a function which returns a string, it actually
doesn't wait for a response. Nice. When one of the developers forces a
5-10 second delay between making the call and using the string passed
back, they get the value.
Thanks for your help though.
On 12/12/2018 3:55 PM, Jason H wrote:
> I did this, in some abandoned work. Turns out QWebWhatever didn't do it right on iOS. It can't return a QVariantMap, you have to stringify it.
>
> Timer {
> id: testTimer
> interval: 1000
> repeat:false
> running: false
> onTriggered: {
> webview.runJavaScript("try {testResult} catch (e) {'undefined'}", function (result) {
> console.log('object', JSON.stringify(result));
> });
> webview.runJavaScript("try {JSON.stringify(testResult)} catch (e) {'undefined'}", function (result) {
> console.log('stringified', JSON.stringify(result));
> });
>
> }
> onRunningChanged: console.log('running', running);
> }
>
> WebView {
> id: webview
> anchors.fill: parent
> onLoadProgressChanged: {
> console.log('loadProgress', loadProgress)
> if (loadProgress == 100) testTimer.running = true;
> }
> }
>
>
>> Sent: Wednesday, December 12, 2018 at 3:46 PM
>> From: roland at logikalsolutions.com
>> To: interest at qt-project.org
>> Subject: [Interest] resturn string to javascript inside QWebEngineView
>>
>> All,
>>
>> Having a massive brain spasm today. Can't remember how to correctly
>> return a string from a function to javascript being run inside of
>> QWebEngineView via QWebChannel. Long ago when I first did this we used
>> QWebSockets but that had horrible nasty side effects and was banned
>> from the project during my absence. Cannot find a link how to do this
>> either.
>>
>> It appears the real problem is Javascript isn't recognizing the
>> signature so refuses to call.
--
Roland Hughes, President
Logikal Solutions
(630) 205-1593
http://www.theminimumyouneedtoknow.com
http://www.infiniteexposure.net
http://www.johnsmith-book.com
http://www.logikalblog.com
http://www.interestingauthors.com/blog
http://lesedi.us
More information about the Interest
mailing list