我正在使用GeckoFX45在Windows Forms中运行浏览器。我希望能够添加一个广告拦截器(uBlock 或 AdBlock Plus(。
大多数广告拦截器都适用于IE,GeckoPreferences.Default("extensions.blocklist.enabled") = False;
给了我一个错误。
有没有办法在GeckoFX浏览器中实现广告拦截?
尝试将Firefox扩展添加到GeckoFX
首先,使用 添加部署扩展的位置
Xpcom.ComponentRegistrar.AutoRegister():
void RegisterExtensionDir(string dir)
{
Console.WriteLine("Registering binary extension directory: " + dir);
var chromeDir = (nsIFile)Xpcom.NewNativeLocalFile(dir);
var chromeFile = chromeDir.Clone();
chromeFile.Append(new nsAString("chrome.manifest"));
Xpcom.ComponentRegistrar.AutoRegister(chromeFile);
}
其次,不要在扩展程序的chrome.manifest中使用ABI标志。所以 而不是
binary-component components/GeckoScraper.dll ABI=WINNT_x86-msvc
用
binary-component components/GeckoScraper.dll
可悲的是,由于Firefox扩展主要基于Firefox的UI的界面和工作,而不仅仅是Gecko界面,我认为目前根本不可能安装扩展或.XPI 文件。
因此,为了在不使用扩展名的情况下执行此操作,您可能需要自己编写一个广告拦截器,我一直在这里尝试这样做。
否则,祝你好运!我一直遇到类似的问题,并正在考虑编写自己的解决方案。