2009-06-02 8 views
18

Je suis en train de créer une application WPF qui permettra aux utilisateurs d'afficher des fichiers PowerPoint via le contrôle WebBrowser, une fois les fichiers enregistrés en .MHT ou .HTML. Le problème est que les fichiers contiennent des contrôles ActiveX et le contrôle WebBrowser affiche par défaut un avertissement chaque fois que je charge ces fichiers, en disant "Pour aider à protéger votre sécurité, votre navigateur Web a restreint ce fichier d'afficher du contenu actif pouvant accéder à votre ordinateur." J'ai vu quelques endroits différents parler en ligne de mettre the mark of the web dans chaque page, mais cela ne marche vraiment pas pour moi dans ce cas, puisque les auteurs de contenu ont le contrôle sur les fichiers, pas les développeurs, et je Je préfère ne pas leur dire qu'ils doivent ouvrir chaque fichier dans le Bloc-notes et ajouter la marque du Web à chacun d'entre eux.Modification des paramètres de sécurité "contenu actif" sur le contrôle WPF WebBrowser

Est-il possible de changer simplement les paramètres du contrôle WebBrowser pour ne pas afficher ce message d'avertissement? IE a un paramètre similaire, mais il ne s'applique pas à ce contrôle.

Répondre

2

Pourquoi ne pas insérer le MOTW dynamiquement au début du fichier lorsque vous le chargez?

Par ailleurs, merci pour votre question: je ne savais pas au sujet de la « marque du web » et il a résolu un problème que j'avais :)

+0

La plupart du temps, car il ajoute beaucoup plus de travail à notre fin, trouvant notamment la fin de la déclaration DOCTYPE. J'imagine probablement que c'est plus de travail que ça, mais pour le moment nous configurons simplement browser.Source pour un chemin de fichier modifié, donc le fait de charger et d'analyser le fichier ajoute un peu plus d'effort. De plus, il semble que le contrôle WebBrowser devrait avoir un certain type de paramètres pour cela, dans le cas où les paramètres de sécurité par défaut ne répondent pas à vos besoins. –

17

Nous avons finalement trouvé une solution convenable à cela, même si je Souhaite encore qu'il y ait une sorte de paramètres sur le contrôle lui-même. Pour charger les documents, nous avons simplement défini browser.Source comme suit:

fichier: //127.0.0.1/c$/path/to/file (où le chemin est un chemin absolu sans C: \, pour exemple, c $/Users/jschuster/mydocument.html)

Pour quelque raison que ce soit, le contrôle affiche les fichiers référencés par une URL dans ce format sans avertissement.

+0

Wow ... J'aime la soi-disant sécurité d'Internet Explorer, il est si facilement trompé;) –

+0

Aucune de ces solutions de contournement ne semblent fonctionner pour moi. Peut-être que c'est Windows 7 :( – SteveCav

+0

Merci beaucoup ... – om471987

1

file: //127.0.0.1/c$/path/to/the/file (où le chemin est un chemin absolu sans C: \, par exemple, c $/Users/jschuster/mydocument.html)

Cela a fonctionné pour moi aussi sur Win7.

13

Espérons que cela pourrait aider quelqu'un même que la question est un peu vieux ...

Comme par le lien à "The Mark Of The Web", ajout d'un commentaire comme

<!-- saved from url=(0016)http://localhost --> 

juste sous la balise HTML a travaillé.

Mon index.html est dans le dossier HTML, ajouté en tant que "contenu" défini sur "Toujours copier" dans le projet WPF à l'aide du contrôle WebBrowser. L'adresse au fichier lors de l'exécution ressemble à ceci:

file:///E:/SRC_2013/WebBrowserTestApp/WebBrowserTestApp/bin/Debug/HTML/index.html 
+0

Jamais trop vieux pour poster une réponse suggérée à l'ancien support IE! :) – Edza

+0

Définir les fichiers js et css sur "Toujours copier" dans un Visual Studio .sln a fonctionné pour moi ... enfin. – whyoz

+0

Je confirme que ** cela fonctionne sur Windows 10 avec le contrôle WebBrowser ** chargement de la page HTML qui héberge l'objet Flash. La solution avec l'adresse IP et le partage privé n'a pas fonctionné, cependant - le film Flash principal a été chargé, mais il n'a pas réussi à charger dynamiquement le contenu à partir d'ActionScript. – nrodic

Questions connexes