Czy formant WebBrowser w WPF zależy od wersji IE zainstalowanej na komputerze użytkownika, czy też korzysta z oddzielnej biblioteki spójnej na różnych komputerach? Czytałem, że renderuje się tylko w trybie IE7, ale chcę się upewnić, że nie będzie żadnych problemów z użytkownikiem, który nie ma zainstalowanego IE lub nadal jest na IE6 z jakiegoś powodu.Przeglądarka przeglądarek WWW przeglądarki WPF Wersja
Odpowiedz
MSDN remarks for WebBrowser wskazują, że rehosts kontroli IE ActiveX:
Kontrola WebBrowser wewnętrznie instancję rodzimą WebBrowser formantu ActiveX.
Formant ActiveX WebBrowser jest lepiej znany jako Shdocvw.dll
. To z kolei opakowuje Mshtml.dll
i prawdopodobnie inne biblioteki DLL są udostępniane Twojemu środowisku. One caveat of rehosting this control is its setting for Browser Emulation:
Do zastosowań hostingu formantu WebBrowser, wartość domyślna to
7000
. Aby kontrolować wartość tej funkcji za pomocą rejestru, dodaj nazwę pliku wykonywalnego do następującego ustawienia i ustaw wartość odpowiadającą żądanemu ustawieniu.
0x7000
oznacza tryb zgodności IE7. Dlatego, jeśli chcesz aplikacji WPF do renderowania za pomocą jakiegoś innego trybu trzeba zaktualizować rejestru, jak adapted from this example:
[HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]
"MyApplication.exe" = dword:2328
I stworzył aplikację WPF z formantu WebBrowser na maszynie z IE11 i dostał ten ciąg agenta użytkownika:
user agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3; .NET CLR 1.1.4322)
i stworzył aplikację WPF z formantu WebBrowser na maszynie z IE10 i dostał ten ciąg agenta użytkownika:
user agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)
Trident/7.0 oznacza, że IE11 i Trident/6.0 oznaczają IE10. More about user-agent strings.
System z IE10 miał również stronę renderowaną inaczej niż system z IE11. Sprawdziłem to również w niezależnych przeglądarkach IE w każdym systemie.
Nie wypróbowałem jeszcze w systemie BEZ IE lub w systemie z IE6, ale wygląda na to, że kontrola WebBrowser jest związana z wersją IE aktualnie zainstalowanego w systemie.
- 1. Przeglądarka hostów w WPF
- 2. Wywołanie metody C++ z przeglądarek WWW JavaScript
- 3. Zwróć uwagę użytkowników, gdy przeglądarka jest zminimalizowana (powiadomienia na pulpicie z przeglądarki różnych przeglądarek?)
- 4. Przeglądarka WPF C# przewija nad górnym menu
- 5. Przeglądarki dodające www. i .com do adresu serwera automatycznie
- 6. Przeglądarka list WPF i klawiatury
- 7. jeśli warunek: jeśli przeglądarka jest IE, a wersja przeglądarki IE jest starsza niż 9
- 8. Przeglądarka WPF jest tam, ale niewidoczna
- 9. Wydajna przeglądarka dzienników na żywo w WPF
- 10. Przeglądarka WPF na tablecie z ekranem dotykowym
- 11. Kontrola przeglądarki WPF vs WinForm
- 12. Przeglądarka Scroll WPF wokół DataGrid wpływa na szerokość kolumny
- 13. SharePoint 2010 wielu przeglądarek przeglądarek webparts - bardzo powolny
- 14. Zapytania o media - przeglądarka mobilna a przeglądarka stacjonarna
- 15. Obsługa modułu CSS3 Layout Przeglądarka
- 16. Detect mobilna przeglądarka
- 17. .Kliknij(), wsparcie przeglądarka
- 18. Przeglądarka Desktop przeglądarki i transmisja strumieniowa HTTP na żywo
- 19. Wykrywanie JavaScriptu, gdy przeglądarka adresów przeglądarki IOS pojawia się
- 20. Monitoruj żądanie http od przeglądarki innej niż przeglądarka
- 21. Okno przesuwania okna przeglądarki WPF Przewijanie ekranu?
- 22. Wyłącz pasek przewijania przeglądarki WebFrowser WPF
- 23. Przeglądarka VNC z wieloma monitorami
- 24. Przeglądarka tylko cache-control - Nie CDN
- 25. Promień obramowania dla wszystkich przeglądarek?
- 26. Obsługa przeglądarek symboli UTF-8
- 27. Przeglądarka po stronie serwera
- 28. Otwórz okno przeglądarki IE
- 29. Przeglądarka internetowa lub przeglądarka internetowa nie usuwając plików cookie sesji po ponownym uruchomieniu urządzenia
- 30. Wyliczanie zainstalowanych przeglądarek w systemie OS X
Innym użytecznym źródłem informacji jest [ten post na blogu od Rick'a Strahla, który napotkał problem podczas pracy z jego pomocnikiem do tworzenia html] (http://www.west-wind.com/weblog/posts/2011/May/21/ Web-Browser-Control-Specification-the-IE-Version). – user7116
Pytanie brzmiało: "Czy formant WebBrowser w WPF zależy od wersji IE zainstalowanej w systemie?" W tej odpowiedzi właśnie mówiono o tym, jak emulacja IE7 może być ustawiona lub nadpisana. Co się stanie, jeśli użytkownik nie zainstaluje IE na swoim komputerze lub ma IE6? – ThePersonWithoutC