簡體   English   中英

QWebView允許彈出窗口嗎?

[英]QWebView allow pop-ups?

在我的項目中,我有一個QWebView,該頁面加載了一個打開彈出窗口的頁面。 但是窗戶不會打開。 我調查了createWindow函數,但不知道如何對小部件進行子類化。 這些是我放入webView的一些設置:

QWebSettings *settings = ui->webView_2->settings();
settings->setAttribute(QWebSettings::JavascriptEnabled, true);
settings->setAttribute(QWebSettings::JavascriptCanOpenWindows, true);

允許我的webView允許彈出窗口的最簡單方法是什么?

謝謝你的時間 :)

您需要重新實現QWebView的createWindow方法。 返回的QWebView將自動設置為所需的URL。

例如:

QWebView* WebView::createWindow(QWebPage::WebWindowType type)
{
    // WindowDialog is just a simple QDialog with a QWebView
    WindowDialog* dlg = new WindowDialog(this);
    dlg->show();

    // A method to retrieve a pointer to the QWebView of the dialog is needed
    return dlg->webView();
}

請記住,cookie不在兩個QWebView之間共享,因此您還需要實現自己的cookie管理器。 一種實現方法是繼承QNetworkCookieJar,並保留一個靜態的“全局”實例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM