【发布时间】:2016-03-21 21:57:53
【问题描述】:
我使用QWebView 来显示我的一些html 内容。我使用多个 html 页面,我必须在它们之间切换并在其上应用 addJavaScriptWindowObject 方法来加载我的 C++ 对象。
目前我正在使用这个函数来加载一个新的 html 页面:
Q_INVOKABLE bool myBridge::newView(QString page)
{
QString path("file:///C:/wamp/www/WLC_Borne/");
path += page;
_view->close();
_view = new WebView;
QObject::connect(_view, SIGNAL(mouseMoveEvent(QMouseEvent*)), _mediaPlayer, SLOT(stop()));
_view->page()->mainFrame()->addToJavaScriptWindowObject("bridge", this);
_view->load(QUrl(path));
_view->showFullScreen();
return (true);
}
问题是我总是分配一个新的QWebView,它会为每个新的进程内存使用增加 5ko。
我创建一个新的QWebView 的原因是只做:
_view->page()->mainFrame()->addToJavaScriptWindowObject("bridge", this);
_view->load(QUrl(path));
_view->showFullScreen();
addToJavaScriptWindowObject 不适用于页面。我必须制作一个新的 webview 才能使其正常工作。
我的问题是它是一种在 html 页面之间切换并使其在每个新页面上与 addToJavaScriptWindowObject 方法一起使用的干净方式?
【问题讨论】: