Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. QWebEngine open links issue
QtWS25 Last Chance

QWebEngine open links issue

Scheduled Pinned Locked Moved Solved General and Desktop
12 Posts 4 Posters 2.7k Views
  • 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.
  • Cobra91151C Cobra91151

    Hi! I have noticed that QWebEngine doesn't open some links. For example, when I navigate to https://www.qt.io/, and press on these links, it do nothing.

    0_1533807579327_2018-08-09_123901.png

    But when I open context menu, it displays the default menus, and there is option to follow link, when I clicked on it, the page has been opened successfully.

    0_1533807724276_2018-08-09_124031.png

    Code:

    QWebEngineView *browserTest = new QWebEngineView(this);
    browserTest ->settings()->setAttribute(QWebEngineSettings::PluginsEnabled, true);
    browserTest ->settings()->setAttribute(QWebEngineSettings::FullScreenSupportEnabled, true);
    browserTest ->settings()->setAttribute(QWebEngineSettings::AllowRunningInsecureContent, true);
    browserTest ->settings()->setAttribute(QWebEngineSettings::SpatialNavigationEnabled, true);
    browserTest ->settings()->setAttribute(QWebEngineSettings::JavascriptEnabled, true);
    browserTest ->settings()->setAttribute(QWebEngineSettings::JavascriptCanOpenWindows, true);
    

    So how to open these links by mouse clicks? Why it is not the default behavior to open links in the QWebEngine? Thanks.

    jsulmJ Offline
    jsulmJ Offline
    jsulm
    Lifetime Qt Champion
    wrote on last edited by
    #2

    @Cobra91151 My guess is that you're missing OpenSSL

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

    Cobra91151C 1 Reply Last reply
    1
    • jsulmJ jsulm

      @Cobra91151 My guess is that you're missing OpenSSL

      Cobra91151C Offline
      Cobra91151C Offline
      Cobra91151
      wrote on last edited by
      #3

      @jsulm

      Hi! What do you mean by missing OpenSSL?

      jsulmJ 1 Reply Last reply
      0
      • Cobra91151C Cobra91151

        @jsulm

        Hi! What do you mean by missing OpenSSL?

        jsulmJ Offline
        jsulmJ Offline
        jsulm
        Lifetime Qt Champion
        wrote on last edited by
        #4

        @Cobra91151 You're trying to access HTTPS URLs which are encrypted.

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

        Cobra91151C 1 Reply Last reply
        0
        • jsulmJ jsulm

          @Cobra91151 You're trying to access HTTPS URLs which are encrypted.

          Cobra91151C Offline
          Cobra91151C Offline
          Cobra91151
          wrote on last edited by
          #5

          @jsulm

          If OpenSSL is missing when why the Follow link in the context menu works? How to get the access to the source code of the QWebEngine context menu?

          jsulmJ 1 Reply Last reply
          0
          • Cobra91151C Cobra91151

            @jsulm

            If OpenSSL is missing when why the Follow link in the context menu works? How to get the access to the source code of the QWebEngine context menu?

            jsulmJ Offline
            jsulmJ Offline
            jsulm
            Lifetime Qt Champion
            wrote on last edited by
            #6

            @Cobra91151 http://code.qt.io/cgit/qt/qtwebengine.git/

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

            Cobra91151C 1 Reply Last reply
            0
            • jsulmJ jsulm

              @Cobra91151 http://code.qt.io/cgit/qt/qtwebengine.git/

              Cobra91151C Offline
              Cobra91151C Offline
              Cobra91151
              wrote on last edited by
              #7

              @jsulm

              Ok. Thanks. I think the problem is with tabs. These links will open in the new tabs, but I need to open it in the same tab.

              1 Reply Last reply
              0
              • Cobra91151C Offline
                Cobra91151C Offline
                Cobra91151
                wrote on last edited by
                #8

                I have found that the issue is with links that have target="_blank" properties. So, I should reimplement QWebEnginePage createWindow method to open such links in the same window.

                JonBJ 1 Reply Last reply
                0
                • Cobra91151C Cobra91151

                  I have found that the issue is with links that have target="_blank" properties. So, I should reimplement QWebEnginePage createWindow method to open such links in the same window.

                  JonBJ Offline
                  JonBJ Offline
                  JonB
                  wrote on last edited by
                  #9

                  @Cobra91151
                  target="_blank" links means open in new window/tab, so why would you want to (re-)implement to open in same window? If anything you need to change the link?

                  Cobra91151C 1 Reply Last reply
                  0
                  • JonBJ JonB

                    @Cobra91151
                    target="_blank" links means open in new window/tab, so why would you want to (re-)implement to open in same window? If anything you need to change the link?

                    Cobra91151C Offline
                    Cobra91151C Offline
                    Cobra91151
                    wrote on last edited by Cobra91151
                    #10

                    @JonB

                    I know what target="_blank" means, I illustrated it for testing purposes. The problem is with QWebEngine doesn't work with it well, and do nothing when clicking on such link. How can I change such links for every website on the web?

                    1 Reply Last reply
                    0
                    • Cobra91151C Offline
                      Cobra91151C Offline
                      Cobra91151
                      wrote on last edited by
                      #11

                      I have fixed it by reimplementing QWebEnginePage.

                      appwebenginepage.cpp

                      QWebEnginePage *AppWebEnginePage::createWindow(QWebEnginePage::WebWindowType)
                      {
                          return this;
                      }
                      

                      And added the page to the QWebEngineView.

                      browserTest = new QWebEngineView(browserTab);
                      AppWebEnginePage *webPage = new AppWebEnginePage();
                      browserTest->setPage(webPage);
                      

                      Now it opens all links in the QWebEngineView window.

                      1 Reply Last reply
                      0
                      • A Offline
                        A Offline
                        Azeem Shami
                        wrote on last edited by
                        #12

                        Cobra91151 I'm also facing the same problem in Python and PyQt5. How to solve this problem in Python?

                        1 Reply Last reply
                        0

                        • Login

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • Users
                        • Groups
                        • Search
                        • Get Qt Extensions
                        • Unsolved