Подавить диалог "yourdomain.com не найден" в GeckFX45 - PullRequest
0 голосов
/ 01 июня 2018

Я использую GeckFX45 из NuGet для размещения веб-страницы для моего входа в OAuth2. Во время тестирования его поведения без подключения к Интернету я заметил, что браузер выдает диалоговое окно, в котором говорится, что URL-адрес не найден.Как я могу подавить это, чтобы я мог поймать и обработать сценарий в своем приложении, не предупреждая пользователя?

Мой код браузера довольно стандартный, но для аргументов в любом случае включен сюда (обратите внимание, что я использую WPF, а не Win Forms, следовательно,хост-контроль):

    public OAuthLogin2(OAuthActions action, string args = null)
    {
        this.action = action;

        Gecko.Xpcom.Initialize("Firefox");
        host = new WindowsFormsHost();
        browser = new GeckoWebBrowser();
        browser.DocumentCompleted += Browser_DocumentCompleted;
        browser.Navigating += Browser_Navigating;

        browser.NavigationError += Browser_NavigationError;
        browser.NSSError += Browser_NSSError;

        InitializeComponent();

        host.Child = browser;
        GridWeb.Children.Add(host);
    }

1 Ответ

0 голосов
/ 06 сентября 2018

Я могу добавить PromptService, но это может не работать в зависимости от языка;

    public class NoPromptService : PromptService
    {
        public override void Alert(string dialogTitle, string text)
        {
            log.Warn(dialogTitle, new Exception(text));
            if (text.EndsWith("could not be found. Please check the name and try again."))
            {
                // Do Whatever
            }
        }
    }

Добавить это в конструктор:

PromptFactory.PromptServiceCreator = () => new NoPromptService();
...