gpt4 book ai didi

javascript - 如何在 Qt Creator 中捕获 QWebEngineView 中的 javascript 错误?

转载 作者:行者123 更新时间:2023-12-05 07:08:04 25 4
gpt4 key购买 nike

我正在调试在 QWebEngineView 中运行的 javascript 脚本。我想在 Qt Creator 中捕获 js 错误(例如调用不存在的函数)。目前,通过console.log()输出的js可以显示在Qt应用程序输出窗口中,但是无法捕获语法错误信息。如何获取这些错误以使调试更容易?

最佳答案

一种方法是继承 QWebEnginePage 并覆盖方法 QWebEnginePage::javaScriptConsoleMessage()。例如(在 Qt 5.15 中测试):

#include <QApplication>
#include <QWebEngineView>
#include <QWebEnginePage>
#include <QUrl>
#include <QDebug>


class MyWebEnginePage : public QWebEnginePage{
protected:
void javaScriptConsoleMessage(QWebEnginePage::JavaScriptConsoleMessageLevel level,
const QString &message,
int lineNumber,
const QString &sourceID) override{
qDebug()<<"message: "<<message;
qDebug()<<"level: "<<level;

}
};

int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWebEngineView view;
MyWebEnginePage *myPage = new MyWebEnginePage;
myPage->setParent(&view);
view.setPage(myPage);
view.setUrl(QUrl("https://www.google.com/"));
// view.load(QUrl::fromLocalFile("index.html")); // or you can load a local file like this
view.show();
return app.exec();
}

关于javascript - 如何在 Qt Creator 中捕获 QWebEngineView 中的 javascript 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61959606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com