Frage

Wie kann ich die Version und alle verfügbaren Informationen über die Instanz von effizient und effektiv erkennen? Silverlight läuft gerade im Browser?

War es hilfreich?

Lösung

Das Silverlight-Steuerelement verfügt nur über eine IsVersionSupported-Funktion, das true / false zurückgibt, wenn Sie ihm eine Versionsnummer geben, z. B.:

if(slPlugin.isVersionSupported("2.0")) {
  alert("I haz some flavour of Silverlight 2");

Sie können bei der Überprüfung des Builds so genau sein, wie Sie möchten, da die Versionszeichenfolge alles Folgende enthalten kann:

  • Major – die Hauptzahl
  • Minor – die Minor-Nummer
  • build – die Build-Nummer
  • revision – die Revisionsnummer

So können wir wie folgt nach einer bestimmten Build-Nummer suchen:

if(slPlugin.isVersionSupported("2.0.30523")) {
  alert("I haz Silverlight 2.0.30523, but could be any revision.");

Silverlight 1.0 Beta enthielt eine control.settings.version-Eigenschaft, die durch die Methode isVersionSupported() ersetzt wurde.Der Grundgedanke ist, dass Sie nicht gegen bestimmte Versionen von Silverlight programmieren sollten.Vielmehr sollten Sie prüfen, ob der Kunde dies getan hat mindestens Version 1.0 oder 2.0 usw.

Allerdings können Sie die Silverlight-Versionsnummer in Firefox ermitteln, indem Sie die Beschreibung des Silverlight-Plugins überprüfen:

alert(navigator.plugins["Silverlight Plug-In"].description);

Zeigt auf meinem Computer „2.0.30523.8“ an.

Beachten Sie, dass es möglich ist, es brutal zu erzwingen, indem alle veröffentlichten Versionsnummern durchlaufen werden. Vermutlich ist es das, was BrowserHawk macht – Sie melden, welche Version von Silverlight der Client installiert hat.

Andere Tipps

Ich habe das von http://forums.asp.net/p/1135746/1997617.aspx#1997617 Das ist der gleiche Link Stu gab dir.Ich habe gerade den Codeausschnitt eingefügt.

Silverlight.isInstalled = function(d)
{
    var c = false, a = null;
    try
    {
        var b = null;
        if(Silverlight.ua.Browser == "MSIE")
            b = new ActiveXObject("AgControl.AgControl");
        else
            if(navigator.plugins["Silverlight Plug-In"])
            {
                a = document.createElement("div");
                document.body.appendChild(a);
                a.innerHTML = '<embed type="application/x-silverlight" />';
                b = a.childNodes[0]
            }

        if(b.IsVersionSupported(d))
            c = true;
        b = null;
        Silverlight.available = true
    }
    catch(e)
    {
        c=false
    }

    if(a)
        document.body.removeChild(a);
    return c
};

Ich habe diese Seite gefunden, die die Vollversion von Silverlight erkennt. Silverlight-Version (auch bekannt als silverlightversion.com)

Wie in den obigen Kommentaren erwähnt, gibt es derzeit keine effiziente direkte Möglichkeit, die installierte Silverlight-Versionsnummer abzurufen (die browserübergreifend funktioniert).

Ich habe einen Beitrag darüber geschrieben, wie man dieses Problem umgeht und die Silverlight-Hauptversionsnummer (einschließlich Version 3) programmgesteuert und effizienter mithilfe von JavaScript erkennt.

Den Code und den Beitrag finden Sie unter:

http://www.apijunkie.com/APIJunkie/blog/post/2009/04/How-to-programmatically-detect-Silverlight-version.aspx

Viel Glück!

Environment.Version macht, was Sie wollen!Unterstützt seit Silverlight 2.0

Schauen Sie in silverlight.js nach:

http://forums.asp.net/p/1135746/1997617.aspx#1997617

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top