[Interest] QtWebKit and open URL in new tab window

Konstantin Tokarev annulen at yandex.ru
Tue Nov 21 08:58:16 CET 2017



> Hi,
> 
> I want to create new window in my QTabWidget when we get "target=_new" from HTML file.
> 
> We are getting "createWindow" call from Qt when user click on any link with attribute "target=_new" and I am handling that and open in new tab in QTabWidget.
> 
> BUT when we close the opened tab and again click on same link then second time i am not getting the "createWindow" call so not able to open in new tab. Any idea why ?

Use target="_blank" because this is the only way defined in HTML for opening URL in new window each time:

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/A#attr-target

Using target="_new" just means that you want the URL to be opened in the frame with name="_new", that's why it behaves
differently.

> 
> Below code for reference.
> 
> #################################
> 
> class MyWebView : public QWebView
> 
> {
> 
> Q_OBJECT
> 
> public:
> 
> MyWebView (QWidget *parent = NULL);
> 
> private:
> 
> QString m_url;
> 
> };
> 
> class MyWebViewPage : public QWebPage
> 
> {
> 
> Q_OBJECT
> 
> public:
> 
> MyWebViewPage (QObject *parent = 0);
> 
> ~ MyWebViewPage();
> 
> protected:
> 
> virtual bool acceptNavigationRequest(QWebFrame *frame, const QNetworkRequest &request, NavigationType type);
> 
> QWebPage *createWindow(QWebPage::WebWindowType type);
> 
> bool javaScriptConfirm(QWebFrame * frame, const QString & msg);
> 
> };
> 
> #################################
> 
> Can anyone suggest - why "createWindow" is not getting called when we close and open the new tab window ?
> 
> Thanks in Advance.
-- 
Regards,
Konstantin



More information about the Interest mailing list