我想从Qt4.8.6中禁用QtWebkit中的Javascript超时警告。我创建了QWebPage的子类(如下图所示),并使用setPage将其添加到QWebView中。然而,对话框仍在出现。在互联网上搜索时,我发现了一些类似于人们所说的代码的例子(例如reimplement the shouldInterruptJavaScript() in Qt (C++))。我一定是在做傻事。如果我覆盖一个像javascriptConsoleMessage这样的函数,调用OK。
我的班级:
class NoDialogWebPage : public QWebPage
{
Q_OBJECT
public:
NoDialogWebPage(QObject * parent = 0) : QWebPage(parent) {}
public slots:
bool shouldInterruptJavaScript()
{
return false;
}
};如何从QWebView的容器中调用它:
m_pWebView = new QWebView(this);
m_pWebPage = new NoDialogWebPage(m_pWebView);
m_pWebView->setPage(m_pWebPage);发布于 2016-05-27 02:01:24
Qt需要它是私人的,而不是公共的。只要改变
public slots:
bool shouldInterruptJavaScript()至
private slots:
bool shouldInterruptJavaScript()我刚刚用QT4.8.4测试了它,它的工作原理就像一种魅力。
https://stackoverflow.com/questions/35727371
复制相似问题