Навигация с помощью веб-браузера Gecko в C#

Я использую Geckofx 33.0.9.0 в моем приложении C#, и у меня возникли проблемы с навигацией.

Как правило, это работает хорошо, я ввожу URL, и он ведет меня на страницу. Проблема в том, что если я введу URL для несуществующей страницы, это даст мне MessageBox под названием "Оповещение".

1) Это действительно раздражает. По крайней мере, в моем мнении 2) Я действительно хотел бы настроить его, поэтому, если я перейду на страницу, которая не существует, он создаст поиск Google по моему URL, как в большинстве подходящих браузеров.

Я пытался искать, но Gecko не очень хорошо задокументирован, или, по крайней мере, я не смог его найти (хотя, если у кого-то есть документация для него, это было бы здорово!), И я не мог найти другой способ навигации, кроме .Navigate('String Url/Uri') метод.

Что я могу сделать, чтобы обойти это окно оповещения? Есть ли способ?

Я создаю GeckoWebBrowser Контроль в коде, кстати.

Я, конечно, отправлю код, если требуется.

1 ответ

Чтобы подавить окно сообщения с предупреждением, вы можете попробовать следующее

        Xpcom.Initialize(Paths.XulRunner);
        GeckoPreferences.User["browser.xul.error_pages.enabled"] = false;
        GeckoPreferences.User["browser.download.manager.showAlertOnComplete"] = false;
        GeckoPreferences.User["security.warn_viewing_mixed"] = false;
        GeckoPreferences.User["privacy.popups.showBrowserMessage"] = false;

Что касается второй идеи, ну, это не должно быть очень сложно - вам просто нужно проверить событие DocumentCompleted или NavigationFinished для статуса страницы - если оно загружено неправильно, то возьмите бит адресной строки и перенаправьте на google url + твоя строка

Надеюсь это поможет!

Другие вопросы по тегам