Question

Ceci est MFC et CHTMLView, mais il s'applique probablement à toutes les utilisations de contrôle Web IE.

Lorsque le contrôle Web navigue sur une page sur certains sites, nous obtenons le contexte d'avertissement de contenu http / https.

Y a-t-il un drapeau, une commande ou une clé de registre spécifique exe pouvant être définie pendant que notre programme est en cours d'exécution pour désactiver l'avertissement?Encore mieux, pouvons-nous choisir la réponse "oui" ou "non"?

Nous ne contrôlons pas le site Web afin de "corriger la page Web" n'est pas une option.Notre programme est en cours d'exécution sur les PC des clients afin de "aller dans les paramètres IE" n'est pas une bonne solution.

Était-ce utile?

La solution

Implémenter un gestionnaire de sécurité personnalisé < / a> sur la classe de site de contrôle utilisé par la classe dérivée CHTMLView pour gérer urlaction_html_mixed_content avec un code de réussite. Le site de contrôle est la mise en œuvre de MFC du site client ActiveX, À partir de laquelle la commande WebBrowser utilisée dans les capacités d'hôte ChTMLView requises .

Si vous utilisez MFC 7.0 ou plus, vous devez remplacer le site de commande via une fonction de creatocontrolsite de substitution . Dans MFC 6.0, vous ne pouvez remplacer que le conteneur de commande globalement par appelant AfxenablecontrolContainer avec votre propre coccmanager qui remplace le Méthode CreateSite.

Après avoir remplacé le site de contrôle, ajoutez IServiceProvider et les interfaces de Security Manager (, iInternetsecurityManager, éventuellement IInternetsecurityManagerEx et IInternetsecurityManagerEx2) via Begin_Interface_Part / End_Interface_Part Macros sur la classe de site de contrôle. Si vous n'êtes pas familier avec les macros MFC, vérifiez TN038: MFC / OLE IUnknown Mise en œuvre . Votre implémentation doit renvoyer inet_e_default_action, sauf lorsque la méthode est processeurLActionActionActionActionActionActionActionEx / processurlactionEx2 et le code est URLACTION_HTML_MIXED_Content, puis vous devez renvoyer S_OK. Remplissez l'adresse de Ppolicy avec Urlpolicy_allow pour permettre une teneur en silence, ou Urlpolicy_Discallow à interdire. Utilisez urlpolicy_Query pour demander à l'utilisateur si nécessaire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top