[Interest] QtWebKit and open URL in new tab window

Konstantin Tokarev annulen at yandex.ru
Tue Nov 21 09:27:00 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.

Remaining question is why frame "_new" is not created from scratch after you close tab. This does not reproduce here,
and probably you are keeping around corresponding QWebFrame or QWebPage object after tab is closed, or just leak it.

> 
>> 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
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
-- 
Regards,
Konstantin



More information about the Interest mailing list