2010-11-19 23 views
1

J'écris un module BHO pour Internet Explorer (8 et 9). Et j'ai suivi le tutoriel this expliquant comment écrire un add-on qui cache toutes les images sur la page. Le problème est que ces images sont cachées après le téléchargement de la page. Donc, pendant une seconde, il y a la pleine page et toutes les images disparaissent. Je dois faire en sorte que lorsqu'un utilisateur ouvre la page, il n'y aura pas d'images, même pour une seconde.Comment détecter le chargement d'une image dans Internet Explorer (et ne pas l'afficher)?

Je ne trouve pas l'événement approprié dans DWebBrowserEvents2. Peut-être que je devrais regarder dans IHTMLDocument2. Je n'ai aucune idée en réalité.

Des suggestions?

+0

Avez-vous essayé celui-ci: DISPID_DOWNLOADBEGIN? –

+0

Oui, j'ai essayé. Celui-ci ne me donne rien. Je ne sais pas quand il est déclenché exactement, il y a généralement deux événements DownloadBegin lorsque vous voulez voir le nouveau site. –

+0

Saviez-vous qu'Internet Explorer peut déjà désactiver les images? (Outils -> Options Internet -> Avancé -> Afficher les images) – Chris

Répondre

1

Vous ne pouvez pas faire cela correctement avec IE. Les événements DWebBrowserEvents sont déclenchés trop tard pour que vous puissiez modifier le DOM avant le téléchargement des images.

Vous verrez des commentaires vous renvoyant à un protocole asynchrone enfichable, une méthode d'accrochage dans IE à un niveau inférieur, mais il est plutôt difficile et non recommandé par Microsoft de le faire pour http/https. Consultez le MSDN IE Extension Developer forum pour plus de discussion à ce sujet.

+0

J'ai lu à propos de "Asynchronous Pluggable Protocols". Mais je pensais que je ne peux écrire que des gestionnaires de protocole personnalisés comme décrit [ici] (http://www.codeproject.com/KB/aspnet/AspxProtocol.aspx) et [ici] (http://www.codeproject.com/KB /IP/DataProtocol.aspx). Je pensais que je ne peux pas l'écrire pour HTTP parce que les gens essaient d'écrire des hacks pour ce que je veux réaliser ([link] (http://stackoverflow.com/questions/1052141/ie-mime-content-filtering)). Pensez-vous qu'essayer d'écrire Asyncronous Pluggable Protocol pour HTTP est ce dont j'ai besoin? –

+0

J'ai accepté votre réponse. J'essaie finalement cette approche "Asynchronous Pluggable Protocols". Il semble que c'est la seule façon de faire du filtrage avant de télécharger quoi que ce soit (sauf l'accrochage à l'API de bas niveau). Avez-vous des ressources sur l'application APP avec le protocole HTTP? –

+0

Le meilleur article que j'ai lu était http://groups.google.com/group/microsoft.public.inetsdk.programming.mshtml_hosting/msg/7013a517c207d543?pli=1 et recherche d'autres articles d'Igor, qui semble être la seule personne au monde qui sait comment faire ça. – Rory