DotNetBrowser:有没有办法使用浏览器扩展?

3

我想使用DotNetBrowser创建一个自定义浏览器,是否有支持或技巧可以启用Chrome / Firefox / Opera扩展程序?我知道很多扩展程序处理特定于浏览器的UI元素,这些元素无法模拟,但是扩展程序代码的某些部分只与html页面相关,因此chromium应该至少支持代码的某些部分。我对广告拦截特别感兴趣。有人做过吗?谢谢

2个回答

0

DotNetBrowser的最新预览版本支持Chrome扩展程序。特别是,广告拦截扩展程序可以正常工作。

该构建本身可在NuGet上获得,但由于它需要许可证,请查看官方公告以了解如何获取许可证。

安装扩展程序很简单:

// Grant permissions.
var extensions = engine.Profiles.Default.Extensions;
extensions.ValidatePermissionsHandler =
    new Handler<ValidatePermissionsParameters, ValidatePermissionsResponse>(
        p => ValidatePermissionsResponse.Grant()
    );
// Install directly from the web store
var extension = extensions.Install("https://chrome.google.com/webstore/detail/…").Result;
// or from a CRX file
var extension = extensions.Install("C:\\extension.crx").Result;

要打开扩展弹出窗口,请调用此函数:

// The action will interact with this `browser`.
// Think of it as the active tab.
extension.GetAction(browser).Click();

我应该指出,CefSharp已经有了五年的扩展支持(pull request)。然而,这种支持非常有限。当他们采用新的CEF的Chrome运行时,这将会改变。
你可以找到这篇博客文章很有用。它回顾了两个库的扩展API,并对CefSharp的情况提供了更多背景信息。

-1

很遗憾,当前版本的DotNetBrowser不支持Chrome扩展。因此,在当前版本的DotNetBrowser中没有办法启用扩展支持。


1
谢谢,如果有这个功能就太好了。 - user4159962

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接