Как получить рекламный блок в веб-браузере GeckoFX Windows Forms? - PullRequest
0 голосов
/ 09 октября 2018

Я использую GeckoFX45 для запуска браузера в Windows Forms.Я хочу иметь возможность добавить рекламный блокер (uBlock или AdBlock Plus).

Большинство блокировщиков рекламы предназначены для IE, и GeckoPreferences.Default("extensions.blocklist.enabled") = False; выдает мне ошибку.

Есть ли способ внедрить Adblock в браузер GeckoFX?

Ответы [ 2 ]

0 голосов
/ 16 февраля 2019

К сожалению, поскольку расширения Firefox в значительной степени основаны на интерфейсе и работе пользовательского интерфейса Firefox, а не только на интерфейсе Gecko, я не думаю, что сейчас вообще возможно установить расширения или файлы .XPI.

Таким образом, чтобы сделать это без использования расширения, вам, возможно, придется самостоятельно кодировать блокировщик рекламы, который я пытался сделать здесь .

В противном случае, удачи!У меня были похожие проблемы, и я собираюсь написать собственное решение.

0 голосов
/ 09 октября 2018

попробуйте добавить расширения 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);
}

Во-вторых, НЕ используйте флаг ABI в расширенияхchrome.manifest.Поэтому вместо

binary-component components/GeckoScraper.dll  ABI=WINNT_x86-msvc

используйте

binary-component components/GeckoScraper.dll
...