Qt Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Unsolved

    Unsolved How to get result from javascript code run by runJavaScript in QtWebengine?

    QtWebEngine
    3
    3
    2427
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Y
      yetanotherqtfan last edited by

      How can I get the result from javascript run by runJavaScript in QtWebengine?

      I want to get result from the js run by runJavaScript. The result is formed after some time in js, but since js returns immediately, I can not get the mature result. How can I modify the js code or the C++ code to get the mature result? I know I can use QWebChannel to notify C++ of the mature result at appropriate time but that is a little complex. Can I delay the return time of js code so it can return with the matured result?

      C++:

      page()->runJavaScript(js,[this](const QVariant &v) {
              qDebug()<<v.toString();
      }
      

      js:

      var result="immature result";
      function fun()
      {
          result="mature result";
      }
      setTimeout(fun,2000);
      result;
      
      jsulm 1 Reply Last reply Reply Quote 0
      • jsulm
        jsulm Lifetime Qt Champion @yetanotherqtfan last edited by

        @yetanotherqtfan https://doc.qt.io/qt-5/qwebenginepage.html#runJavaScript-2

        https://forum.qt.io/topic/113070/qt-code-of-conduct

        1 Reply Last reply Reply Quote 2
        • H
          Hetal last edited by Hetal

          In your runJavascript function either you emit a signal or you can call a function of the save class and then pass the value in that function.

          page()->runJavaScript(js,[this](const QVariant &v) {
          newFunction(v);
          }

          Then in newFunction you can carry out the further code.

          1 Reply Last reply Reply Quote 0
          • First post
            Last post