class MyWebPage : public QWebPage
{
Q_OBJECT
public:
QWebView *wv;
MyWebPage
(QWebView
*wvptr,
QStatusBar *sbptr
) : QWebPage
(0) {
sb = sbptr;
wv = wvptr;
}
~MyWebPage()
{
sb = NULL;
wv = NULL;
}
virtual void javaScriptAlert
(QWebFrame
*frame,
const QString &msg
) {
if(wv->url().toString().contains("http://site.you.need"))
sb->showMessage(tr("SITE.YOU.NEED sent an alert: '%1', it was supressed.").arg(msg), 5000);
else
QWebPage::javaScriptAlert(frame, msg);
}
virtual bool javaScriptConfirm
(QWebFrame
*frame,
const QString &msg
) {
if(wv->url().toString().contains("http://site.you.need"))
{
sb->showMessage(tr("SITE.YOU.NEED activated javaScriptConfirm: '%1'. TRUE sended.").arg(msg), 5000);
return true;
}
else
return QWebPage::javaScriptConfirm(frame, msg);
}
virtual bool javaScriptPrompt
(QWebFrame
* frame,
const QString & msg,
const QString & defaultValue,
QString * result
) {
if(wv->url().toString().contains("http://SITE.YOU.NEED"))
{
sb->showMessage(tr("SITE.YOU.NEED activated javaScriptPrompt: Title '%1', default value is '%2'. Sending '%3'.").arg(msg).arg(defaultValue).arg(QGuiApplication::clipboard()->text()), 5000);
result->clear();
result->append(QGuiApplication::clipboard()->text()); // some text from a clipboard
return true;
}
else
return QWebPage::javaScriptPrompt(frame, msg, defaultValue, result);
}
};
.... in a program ...
MyWebPage *page = new MyWebPage(ui->webView, ui->statusBar);
ui->webView->setPage(MyWebPage);
class MyWebPage : public QWebPage
{
Q_OBJECT
public:
QStatusBar *sb;
QWebView *wv;
MyWebPage(QWebView *wvptr, QStatusBar *sbptr) : QWebPage(0)
{
sb = sbptr;
wv = wvptr;
}
~MyWebPage()
{
sb = NULL;
wv = NULL;
}
virtual void javaScriptAlert(QWebFrame *frame, const QString &msg)
{
if(wv->url().toString().contains("http://site.you.need"))
sb->showMessage(tr("SITE.YOU.NEED sent an alert: '%1', it was supressed.").arg(msg), 5000);
else
QWebPage::javaScriptAlert(frame, msg);
}
virtual bool javaScriptConfirm(QWebFrame *frame, const QString &msg)
{
if(wv->url().toString().contains("http://site.you.need"))
{
sb->showMessage(tr("SITE.YOU.NEED activated javaScriptConfirm: '%1'. TRUE sended.").arg(msg), 5000);
return true;
}
else
return QWebPage::javaScriptConfirm(frame, msg);
}
virtual bool javaScriptPrompt(QWebFrame * frame, const QString & msg, const QString & defaultValue, QString * result)
{
if(wv->url().toString().contains("http://SITE.YOU.NEED"))
{
sb->showMessage(tr("SITE.YOU.NEED activated javaScriptPrompt: Title '%1', default value is '%2'. Sending '%3'.").arg(msg).arg(defaultValue).arg(QGuiApplication::clipboard()->text()), 5000);
result->clear();
result->append(QGuiApplication::clipboard()->text()); // some text from a clipboard
return true;
}
else
return QWebPage::javaScriptPrompt(frame, msg, defaultValue, result);
}
};
.... in a program ...
MyWebPage *page = new MyWebPage(ui->webView, ui->statusBar);
ui->webView->setPage(MyWebPage);
To copy to clipboard, switch view to plain text mode
Bookmarks