介绍
安装
指南
- 引擎
- 配置文件
- Browser
- BrowserView
- 导航
- 内容
- 上下文菜单
- DOM
- JavaScript
- 弹出窗口
- 对话框
- 下载
- Chrome extensions
- 网络
- 缓存
- Cookies
- 代理
- 身份验证
- 权限
- 插件
- 打印
- 密码
- 用户数据配置文件
- 信用卡
- 媒体
- 缩放
- 拼写检查器
- 部署
- Chromium
故障排除
- 日志记录
- 常见异常
- 应用程序不终止
- 视频不播放
- 无法登录 Google 账号
- 用户数据未被储存
- 配色方案
- 启动失败
- Windows 启动缓慢
- 无响应的 .NET 应用程序
- Chromium 进程意外终止
- 意外行为
- Windows 7/8/8.1 停止支持
迁移
插件
DotNetBrowser 支持 Chromium 插件。 本指南介绍了如何获取所有已安装和可用的 Chromium 插件的信息、在网页上启用或禁用指定插件以及其他操作。
使用 IPlugins
获取有关所有可用插件的信息,并在网页上启用/禁用插件。 默认情况下,所有插件都是启用的。
插件与 Profiles
相关联。 如果要获取特定 Profile
的 Plugins
服务,请使用 Profile.Plugins()
方法。 使用 IEngine.Plugins()
会返回默认配置文件的 Plugins
服务。
默认情况下,所有插件都是启用的。
已安装的插件
要获取所有已安装和可用插件的信息,请使用下面的代码示例:
foreach (Plugin plugin in engine.Profiles.Default.Plugins.AvailablePlugins)
{
string name = plugin.Name;
string description = plugin.Description;
string version = plugin.Version;
}
For Each plugin As Plugin In engine.Profiles.Default.Plugins.AvailablePlugins
Dim name As String = plugin.Name
Dim description As String = plugin.Description
Dim version As String = plugin.Version
Next
过滤插件
每当网页需要访问插件时,都会使用 AllowPluginHandler
。 在该处理程序中,您可以指示网页是否允许使用所请求的插件。
下面的示例演示了如何拒绝所有 MIME 类型为 application/pdf
的插件:
engine.Profiles.Default.Plugins.AllowPluginHandler =
new Handler<AllowPluginParameters, AllowPluginResponse>(p =>
{
// 获取插件的 MIME 类型。
IEnumerable<MimeType> pluginMimeTypes = p.Plugin.MimeTypes;
// 拒绝所有 MIME 类型为 "application/pdf" 的插件。
if (pluginMimeTypes.Contains(MimeType.ApplicationPdf))
{
return AllowPluginResponse.Deny();
}
return AllowPluginResponse.Allow();
});
engine.Profiles.Default.Plugins.AllowPluginHandler =
New Handler(Of AllowPluginParameters, AllowPluginResponse)(Function(p)
' 获取插件的 MIME 类型。
Dim pluginMimeTypes As IEnumerable(Of MimeType) = p.Plugin.MimeTypes
' 拒绝所有 MIME 类型为 "application/pdf" 的插件。
If pluginMimeTypes.Contains(MimeType.ApplicationPdf) Then
Return AllowPluginResponse.Deny()
End If
Return AllowPluginResponse.Allow()
End Function)
DotNetBrowser 支持内置的 Chromium PDF 查看器插件。 您可以使用 PDF 文件的 URL 或位于本地文件系统中的 PDF 文件显示远程网络服务器上可用的 PDF 文件:
PDF 查看器工具栏
默认情况下,PDF Viewer 显示内置控件,如缩放按钮、包含文件名、页码、旋转、下载和打印按钮的工具栏。 您可以在 URL 末尾添加 #toolbar=0
来隐藏这些控件。
例如, http://www.orimi.com/pdf-test.pdf#toolbar=0
对于从本地文件系统加载的 PDF,请使用以下 URL 格式:
file:///D:/Downloads/pdf-test.pdf#toolbar=0
禁用 PDF 查看器
默认情况下,PDF 文件将显示在 PDF 查看器中。 要下载 PDF 而不是显示它们,请使用 IBrowserSettings.PdfViewerEnabled
属性:
engine.Profiles.Default.Plugins.Settings.PdfViewerEnabled = false;
engine.Profiles.Default.Plugins.Settings.PdfViewerEnabled = False
受密码保护的 PDF
默认情况下,加载加密 PDF 时会显示标准 Chromium 对话框:
要以编程方式提供密码,请使用 RequestPdfDocumentPasswordHandler
:
// 以编程方式提供密码。
Browser.RequestPdfDocumentPasswordHandler =
new Handler<RequestPdfDocumentPasswordParameters, RequestPdfDocumentPasswordResponse>(p
=> RequestPdfDocumentPasswordResponse.Password(Password));
' 以编程方式提供密码。
Browser.RequestPdfDocumentPasswordHandler =
New Handler(Of RequestPdfDocumentPasswordParameters,
RequestPdfDocumentPasswordResponse)(Function(p)
RequestPdfDocumentPasswordResponse.Password(Password))
Adobe Flash
Adobe Flash 将于 2020 年 12 月终止服务。 如果在系统中安装并配置了相应插件,基于 Chromium 87 及以下版本的 DotNetBrowser 仍可使用 Flash。
从 88 版本开始,Chromium 不再支持 Flash。 DotNetBrowser 从 2.5 版本开始也不再支持它。
NPAPI 插件
从 49 版本开始,Chromium 不再支持任何 NPAPI 插件,包括 Microsoft Silverlight,DotNetBrowser 也不再支持它们。
ActiveX
由于 Chromium 不支持 ActiveX,因此 DotNetBrowser 也不支持它。