Навигация с помощью веб-браузера 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 + твоя строка
Надеюсь это поможет!