QWebEngine加载本地js文件到网页

QT提供了WebEngine Content Manipulation Example例子说明如何加载本地的jquery文件。网上也有很多如何利用QWebChannel实现C++与JS互相通信的例子。

下面总结一下如何将qwebchannel.js加载到非本地网页(qwebchannel.js在QT的安装目录可以搜索到)。

1 打开qwebchannel.js文件

QString script;   //类的成员函数

 QFile jsFile("c:/channel/qwebchannel.js");

    if (jsFile.open(QIODevice::ReadOnly)){

        script = jsFile.readAll();

        jsFile.close();

}

2 运行(注意要在网站加载完后再运行)

m_webView->page()->runJavaScript(script);

3 C++端创建QWebChannel实例,并注册通信对象

    m_webChannel = new QWebChannel();

    m_webChannel->registerObject(QStringLiteral("webobj"),this);

m_webView->page()->setWebChannel(m_webChannel);

4 在网页运行js,并且调用C++端的函数

   QString code = QStringLiteral("$('body').append('

你可能感兴趣的:(HTTP,C++,/,QT,c++,javascript,qt)