Comment intercepter l'erreur de connexion GeckoFx - xulrunner, geckofx

Existe-t-il un moyen d'intercepter les problèmes de connexion côté client?

Je veux dire que si l'utilisateur perd la connexion et essaie d'accéder à un site Web, GeckoFx / Xulrunner affiche un message "[url] introuvable". Veuillez vérifier le nom et réessayer. " dans une boîte de message de style alerte.

Est-il possible de modifier ce message ou de l'intercepter pour le traiter et afficher une page d'erreur, par exemple?

Trouvé la solution: Après plus de tests et de demander de l'aide dans geckofx, j'ai vu que cette ligne manquait:

GeckoWebBrowser.UseCustomPrompt ();

Et à la fois cette ligne et l'affectation de délégué àPromptServiceCreator doit être défini sur la méthode BEFORE Xpcom.Initialize. C'est la partie qui m'a pris si longtemps à découvrir, puisque ma méthode Initialize était dans une autre classe.

Réponses:

0 pour la réponse № 1

Si vous définissez "browser.xul.error_pages.enabled" désactivé (false), vous pouvez écrire votre propre PromptService.

Commencez par implémenter votre propre service de consultation:

class MyPromptService : nsIPromptService2, nsIPrompt { .... }

Puis, au début de votre démarrage du programme:

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

Cela vous permettra de faire ce que vous voulez avec toutes les alertes.

Si cela ne fonctionne pas, vous pouvez toujours modifier le contenu des documents:

    browser.DocumentCompleted += (s, e) =>
{
if (!sometest)
return;

GeckoHtmlElement g = (GeckoHtmlElement)browser.Document.DocumentElement;
g.InnerHtml = "what ever you want.";
};

Menu