2015-03-06 4 views
2

Я использую Gecko Web-браузер версии 21.0.1 и .net Framework 4.0 в приложении для Windows.Отключить сообщения подтверждения GeckoFX

Когда я перейти к определенным веб-страницам я получаю Всплывающие подтверждения сообщение:

Эта веб-страница перенаправляется на новое место. Хотели бы вы отправить данные формы, которые вы набрали, в новое место?

Как отключить такие сообщения?

До сих пор я попытался следующие настройки, но они не помогли:

GeckoPreferences.User["security.warn_viewing_mixed"] = false; 
GeckoPreferences.User["plugin.state.flash"] = 0; 
GeckoPreferences.User["browser.cache.disk.enable"] = false; 
GeckoPreferences.User["browser.cache.memory.enable"] = false; 

ответ

2

Вы можете попробовать условии, что вы владеете реализации nsIPromptService2/nsIPrompt.

Выполнить это рано программы запуска (Хотя после XPCom.Initalize)

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

Где FilteredPromptService определяется что-то вроде этого:

internal class FilteredPromptService : nsIPromptService2, nsIPrompt 
{ 
    private static PromptService _promptService = new PromptService(); 

    public void Alert(nsIDOMWindow aParent, string aDialogTitle, string aText) 
    { 
     if(/*want default behaviour */) 
     { 
     _promptService.Alert(aDialogTitle, aText); 
     } 
     // Else do nothing 
    } 

    // TODO: implement other methods in similar fashion. (returning appropriate return values) 
} 

Вы также должны убедиться, что страницы ошибок не включены:

GeckoPreferences.User["browser.xul.error_pages.enabled"] = false; 
+0

Эй, Том - это может быть глупый вопрос, но, пожалуйста, позвольте мне знаете - если я хочу это сделать, мне нужно включить каждый метод интерфейсов, хотя я хочу только объединиться с ним? То есть мне нужно вручную вводить все методы в FilteredPromptService, даже я не знаю, что они делают? Есть ли автоматический способ сказать «хорошо, просто добавьте их так, как только они находятся в оригинальном интерфейсе?»? Ура! – Bartosz

Смежные вопросы