Permettre Au Système.De Windows.Les formulaires.WebBrowser à exécuter javascript
Au sérieux - lire la question tout le chemin à travers avant de tenter d'y répondre. "Utiliser un autre navigateur" ne pas répondre à cette question.
La question est: est-ce Comment puis-je obtenir un Système.De Windows.Les formulaires.Contrôle WebBrowser pour afficher une page web qui a du Javascript intégré dans quand je n'ai pas de contrôle sur les entrants de la page?
J'ai déjà vu des personnes suggèrent d'ajouter les valeurs de registre pour IE émulation (Permettant javascript à exécuter sur un formulaire windows navigateur web) et de modifier les paramètres du script dans les Options Internet/Sécurité.
J'ai déjà fait.
Donc, voici le test de l'utilisation d'un Système.De Windows.Les formulaires.Contrôle WebBrowser pour l'accès www.hulu.com.
Et nous sommes encore en train de ce.
D'autres idées?
- Vous n'avez pas besoin d'utiliser un autre contrôle. Vous devez dire à
WebBrowser
de contrôle à ne pas utiliser le mode de compatibilité et d'utiliser la dernière version de IE mode de document. Puis il montre tous les contenus bien. Jetez un oeil à ce post. - Suivez les instructions et vous pouvez voir le résultat escompté dans une application Windows Forms comme ceci.
- Oui. Je l'ai fait. Il n'a pas de travail.
- Probablement vous n'avez pas suivi les instructions correctement, lisez le message lié qui j'ai partagé dans le premier commentaire avec soin et ne pas oublier d'ajouter yourapp.vshost.exe aussi. La seule clé qui vous avez besoin de changer est ici:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION
. La solution n'est pas d'utiliser un autre navigateur de contrôle. Vous pouvez voir la capture d'écran que j'ai faite de ce site dans le contrôle WebBrowser dans le deuxième commentaire. - J'ai re-vérifié trois fois - j'ai suivi ces instructions avec précision. Depuis, il travaille avec www.funimation.com et pas www.hulu.com il est plus probable que la version installée de l'IE sur ce système n'est pas compatible avec quelque chose sur Hulu du site. Je vais vérifier sur mon ordinateur à la maison plus tard (Win10 64 bits).
- Quelle est la version de IE? Pouvez-vous voir le site lorsque vous ouvrez directement c'est à dire sans l'aide de WebBrowserControl?
- Pour s'assurer si les paramètres de travail pour vous, il suffit d'essayer de naviguer sur le site, dans votre système d'exploitation, le navigateur IE, si elle montre correctement les paramètres, il n'affiche pas correctement, vous devez utiliser un autre navigateur comme CefSharp, par exemple pour travailler avec WhatsApp, j'ai été forcé d'utiliser CefShapr, le site ne fonctionnait pas dans IE à tous.
- Oui - Hulu.com et Funimation.com les deux fonctionnent très bien dans I. E. mais Hulu ne fonctionne pas dans le contrôle.
- Si la description du problème et de la solution est exactement ce que j'ai dit.
- Comme je l'ai dit plus tôt - "j'ai suivi ces instructions précisément," et ", Car il fonctionne avec www.funimation.com et pas www.hulu.com il est plus probable que la version installée de l'IE sur ce système n'est pas compatible avec quelque chose sur Hulu du site." Initialement, ces modifications n'a eu aucun effet et puis il "juste fixe lui-même" après environ trois heures (alors que je travaillais sur autre chose (peut-être un problème de mise en cache?). Aussi, Hulu.com et Funimation.com les deux travaillé dans I. E. AVANT les modifications du registre.
- Lorsque vous consultez un site woks dans IE dans votre système d'exploitation, cela signifie qu'il fonctionnera également avec
WebBrowser
de contrôle après la modification des paramètres. Si votre problème a été la mise en cache ou quelque chose comme ça. - Si vous pensez que le lié post qui j'ai partagé peut aider quelqu'un d'autre dans l'avenir, il serait grand si vous votez pour la question et la réponse pour les rendre plus populaire pour les futurs lecteurs.
Vous devez vous connecter pour publier un commentaire.
Définir la propriété
ScriptErrorsSuppressed
de laWebBrowser
contrôle detrue
pour supprimer le message d'erreur JavaScript.Afin de permettre à du code de l'hulu.com pour l'exécuter, vous devez exécuter le contrôle Webbrowser dans un mode tel qu'il fonctionne avec les nouvelles caractéristiques de la version. Cela ne peut se faire en définissant les entrées de registre.
Voir cette question et les réponses pour plus de détails.
Pour préciser: j'ai une démo de l'application pour ouvrir le site hulu intégré à contrôle WebBrowser nommé WindowsFormsApplication5.exe.
Sans changement dans le registre, je vois une note par Hulu que la prise en charge de JavaScript n'est pas activé. Lorsque sniffant le réseau de transfert avec un violon, je vois que la demande est envoyée à l'Hulu serveur:
Notez le numéro de version "7.0" dans la chaîne de l'Agent Utilisateur.
J'ai maintenant ajouter une clé de registre de type REG_DWORD avec le nom "WindowsFormsApplication5.exe" et de la valeur 0x00002af9 (11001) dans la clé de registre HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION.
Comme un résultat, le Site Hulu est correctement affiché dans mon application démo et je vois la requête suivante envoyé par l'intermédiaire de Fiddler:
Avis différents chaîne de l'Agent Utilisateur après les modifications du registre.
Approches possibles:
Utiliser un autre navigateur. Le remplacement .NET de contrôle avec un meilleur navigateur, tels que google Chrome?
Lors de votre démarrage du programme, vérifier le registre pour voir si internet explorer est configuré pour autoriser le Javascript. Si elle ne l'est pas, soit arrêter le programme ou modifier le registre. (Cela peut vous froisser BEAUCOUP de plumes pour les utilisateurs ou les administrateurs!)
WebBrowser
de contrôle à ne pas utiliser le mode de compatibilité et d'utiliser la dernière version de IE mode de document. Puis il montre tous les contenus bien. Jetez un oeil à ce post.WebBrowser
contrôle de montrer moderne de contenu.