Est-il possible de savoir dans quelle version du navigateur fonctionne une application hébergée par le navigateur (XBAP) (par exemple IE6, IE7 ou IE8)? Je veux trouver la version du navigateur à partir de la XBAP.Détection de la version du navigateur dans WPF
Répondre
Avec l'aide d'un forum Microsoft, j'ai été conduit dans une direction qui fonctionne enfin. Ci-dessous une preuve de concept en C++ NET (
using namespace System::Windows::Forms;
[STAThread]
String^ GetBrowserVersion() {
String^ strResult = String::Empty;
WebBrowser^ wb = gcnew WebBrowser();
String^ strJS = "<SCRIPT>function GetUserAgent() { return navigator.userAgent; }</SCRIPT>";
wb->DocumentStream = gcnew MemoryStream(ASCIIEncoding::UTF8->GetBytes(strJS));
while (wb->ReadyState != WebBrowserReadyState::Complete) {
Application::DoEvents();
}
String^ strUserAgent = (String^)wb->Document->InvokeScript("GetUserAgent");
wb->DocumentStream->Close();
String^ strBrowserName = String::Empty;
int i = -1;
if ((i = strUserAgent->IndexOf("MSIE")) >= 0) {
strBrowserName = "Internet Explorer";
} else if ((i = strUserAgent->IndexOf("Opera")) >= 0) {
strBrowserName = "Opera";
} else if ((i = strUserAgent->IndexOf("Chrome")) >= 0) {
strBrowserName = "Chrome";
} else if ((i = strUserAgent->IndexOf("FireFox")) >= 0) {
strBrowserName = "FireFox";
}
if (i >= 0) {
int iStart = i + 5;
int iLength = strUserAgent->IndexOf(';', iStart) - iStart;
strResult = strBrowserName + " " + strUserAgent->Substring(iStart, iLength);
}
return strResult;
}
Bonne idée, merci! En utilisant C# et WPF ici. J'ai un contrôle WebBrowser dans mon code et pour l'amour de Dieu je ne pouvais pas trouver où obtenir la version du navigateur. Ce que j'ai fait était d'utiliser une page html externe (même emplacement que mon .exe), chargé en tant que tel: WebBrowserMain.Navigate ("pack: // siteoforigin: ,,,/useragent.html"); Et depuis useragent.html a appelé une méthode dans mon programme via javascript qui recueille les informations de l'agent utilisateur. Merci beaucoup! – Rowan
Je présume que vous voulez dire Silverlight plutôt que WPF? (Ce sont des technologies distinctes, bien que similaires).
Jetez un oeil à la System.Windows.Browser.BrowserInformation
Class
Plus précisément
System.Windows.Browser.BrowserInformation.BrowserVersion
A partir de la page MSDN ci-dessus:
using System;
utilisant System.Windows.Controls; en utilisant System.Windows.Browser;
public class Example
{
public static void Demo(System.Windows.Controls.TextBlock outputBlock)
{
outputBlock.Text +=
"\nSilverlight can provide browser information:\n"
+ "\nBrowser Name = " + HtmlPage.BrowserInformation.Name
+ "\nBrowser Version = " +
HtmlPage.BrowserInformation.BrowserVersion.ToString()
+ "\nUserAgent = " + HtmlPage.BrowserInformation.UserAgent
+ "\nPlatform = " + HtmlPage.BrowserInformation.Platform
+ "\nCookiesEnabled = " +
HtmlPage.BrowserInformation.CookiesEnabled.ToString() + "\n";
}
}
XBAP (Application de navigateur XAML) - Les applications WPF peuvent-elles être hébergé dans un navigateur http://msdn.microsoft.com/en-us/library/aa970060.aspx – VoidDweller
Non, je veux dire en effet une application de navigateur XAML Je pense que l'utilisation de votre solution introduit une nouvelle dépendance à Silverlight. J'ai trouvé une autre solution avec un peu d'aide d'un forum Microsoft, voir ma réponse à ma propre question. – Rob
- 1. La version du navigateur de détection
- 2. version du navigateur dans jquery
- 3. Détection de la version COMCTL32 dans .NET
- 4. Détection du navigateur Python/mod_python?
- 5. détection du navigateur et addClass
- 6. Comment améliorer la détection du navigateur avec l'objet Request.Context.Browser?
- 7. Détection de version avec Silverlight
- 8. JavaScript: Cross-navigateur "plug-in du navigateur" de détection
- 9. version du navigateur Regex correspondance
- 10. Détection des fonctionnalités du navigateur: vérification orthographique?
- 11. Détection de la prise en charge du navigateur SSL
- 12. Détection du navigateur dans ASP.NET à l'aide de RegEx
- 13. Détection de la version de l'extension Firefox
- 14. jQuery: détection d'un redimensionnement du navigateur
- 15. contrôle du navigateur Web: modifications Détection du contenu du formulaire
- 16. WPF: Détection du bouton de décalage
- 17. Obtenir la version javascript du navigateur! = IE dans asp.net
- 18. Obtenir la version du plugin Java du navigateur?
- 19. Détection de navigateur mobile dans GWT
- 20. détection de navigateur Firefox dans Ubuntu
- 21. Sélénium navigateur détection
- 22. Détection du navigateur et détection de capacité pour le bogue IE 6 select/z-index
- 23. Prise en charge de la nouvelle version du navigateur
- 24. Détection du navigateur via JS pour Safari 5
- 25. jQuery de détection du navigateur Ne semble pas fonctionner
- 26. Détection de page de code navigateur
- 27. Obtenir la version du navigateur IE en utilisant Javascript
- 28. Détection de liens hypertexte dans WPF RichTextBox
- 29. Détection de navigateur fiable avec javascript?
- 30. de détection de navigateur pour IE
@Rob:.. Avez-vous rencontrez un besoin pour ce cas, quel est-il – VoidDweller
Pour notre application, nous devons avoir une façon de faire rapport à quoi? version du navigateur notre application est en cours d'exécution.Le rapport est généré à des fins de support et contient toutes sortes d'informations système Malheureusement, la version du navigateur a une influence sur le comportement de l'application – Rob