Qt5 WebKit没有检测到NPAPI插件

时间:2014-01-22 16:01:42

标签: c++ qt npapi qtwebkit

#include "mainwindow.h"
#include <QApplication>
#include <QtWebKit>
#include <QWebView>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QWebView *view = new QWebView();
    QWebSettings::PluginsEnabled;
    view->load(QUrl("http://www.paulirish.com/demo/multi"));

    view->show();

    return a.exec();
}

我正在尝试在QtWebkit Webview中加载插件,但它没有被加载。我找不到正确的路径Here,但它没有加载。我添加了Env。变量QTWEBKIT_PLUGIN_PATH到系统变量&amp; MOZ_PLUGIN_PATH已经在用户变量中,由Foxit Reader添加。我尝试将插件dll文件放在与Env相对应的两个目录上。变量,但它不是加载插件。在我使用Moz_plugin_path中的插件后,firefox能够检测到该插件。

至于在QTWebview中启用插件我尝试使用

QWebSettings :: PluginsEnabled;

QWebSettings :: globalSettings() - &GT;的setAttribute(QWebSettings :: PluginsEnabled,TRUE);

视图 - &gt;页面() - &gt;设置() - &GT; PluginsEnabled;

但没有找到成功,我使用的是Windows 8.1和Qt 5.2

2 个答案:

答案 0 :(得分:1)

您应该设置QWebSettings::PluginsEnabled属性。你这样做的方式,一切都没有发生。

使用以下代码启用该属性:

QWebSettings::globalSettings()->setAttribute(QWebSettings::PluginsEnabled, true);

在创建QWebView之前加上这个。

有关详细信息,请参阅文档:

QWebSettings Docs

答案 1 :(得分:0)

我的情况完全相同。什么解决了我的问题是为NPAPI安装adobe flash player插件。 Google Chrome和Firefox等现代网络浏览器通常都附带内置的Flash播放器插件。因此Chrome / Firefox运行良好并不能确保您在系统范围内正确安装正确的Flash插件,这是Qt5WebKit需要为Flash内容启用本地插件支持。

所以,请确保安装了NPAPI的adobe flash player插件,并希望它能解决您的问题。