插件

JxBrowser 支持 Chromium 插件。 本指南描述了如何获取有关所有已安装和可用的 Chromium 插件的信息,如何在网页上启用或禁用指定插件等。

请使用 Plugins 获取有关所有可用插件的信息,并在网页上启用/禁用插件。

Plugins plugins = profile.plugins();
val plugins = profile.plugins()

默认情况下,所有插件都是启用的。

安装的插件

要获取有关所有已安装和可用插件的信息,请使用以下代码:

plugins.list().forEach(plugin -> {
    String name = plugin.name();
    String description = plugin.description();
    String version = plugin.version();
});
plugins.list().forEach { plugin ->
    val name = plugin.name()
    val description = plugin.description()
    val version = plugin.version()
}

过滤插件

每次当网页需要访问插件时, AllowPluginCallback 就会被调用 。 在此回调中,您可以告诉网页是否允许请求的插件。

以下示例演示如何拒绝所有具有 application/pdf MIME 类型的插件:

plugins.set(AllowPluginCallback.class, (params) -> {
    // Get plugin MIME types.
    List<MimeType> pluginMimeTypes = params.plugin().mimeTypes();
    // Deny all plugins with the "application/pdf" MIME type.
    if (pluginMimeTypes.contains(MimeType.of("application/pdf"))) {
        return Response.deny();
    } 
    return Response.allow();
});
plugins.set(AllowPluginCallback::class.java, AllowPluginCallback { params ->
    // Get plugin MIME types.
    val pluginMimeTypes = params.plugin().mimeTypes()
    // Deny all plugins with the "application/pdf" MIME type.
    if (pluginMimeTypes.contains(MimeType.of("application/pdf"))) {
        Response.deny()
    } else {
        Response.allow()
    }
})

PDF 查看器

JxBrowser 支持内置的 Chromium PDF 查看器插件。 您可以使用 PDF 文件的 URL 显示远程网络 服务器上可用的 PDF 文件,或显示位于本地文件系统中的 PDF 文件。

Chromium PDF Viewer

如果您需要下载 PDF 文档而不是显示它们,则必须禁用 PDF 查看器

PDF 查看器工具栏

默认情况下,PDF 查看器显示内置控件,例如缩放按钮、带有文件名的工具栏、页码、旋转下载打印按钮。 您可以通过将 #toolbar=0 添加到 URL 的末尾来隐藏这些控件。

Chromium PDF Viewer No Controls

禁用 PDF 查看器

默认情况下,内置 PDF 查看器已启用。 要禁用它,请使用 7.9 中引入的以下 API:

plugins.settings().disablePdfViewer();
plugins.settings().disablePdfViewer()

受密码保护的 PDF

您可以打开受密码保护的 PDF 文件并使用标准对话框提供密码:

Chromium PDF Viewer Password dialog

7.27 开始,您可以使用 RequestPdfDocumentPasswordCallback 以编程的方式设置密码:

browser.set(RequestPdfDocumentPasswordCallback.class, (params, tell) -> {
    tell.password("oxford not brogues");
});
browser.set(RequestPdfDocumentPasswordCallback::class.java, 
    RequestPdfDocumentPasswordCallback { params, tell ->
        tell.password("oxford not brogues")
    }
)

Adobe Flash

Adobe Flash 已于 2020 年 12 月终止使用。Chromium 从 88 版本开始不再支持 Adobe Flash。 因此,JxBrowser 7.13 及更高版本不支持 Flash。.

NPAPI 插件

从 49 版开始,Chromium 不支持任何 NPAPI 插件,包括 Microsoft SilverlightJava Applet。 因此,JxBrowser 也不支持它们。

ActiveX

Chromium 不支持 ActiveX,因此 JxBrowser 也不支持它。

Widevine

7.4 版本开始 version,JxBrowser 允许通过 Engine 选项启用 Widevine

Go Top