سؤال

كيف يمكنني بكفاءة وفعالية الكشف عن النسخة و عن أي معلومات متاحة عن مثيل Silverlight حاليا يعمل على المتصفح ؟

هل كانت مفيدة؟

المحلول

Silverlight التحكم فقط لديه IsVersionSupported وظيفة, التي تقوم بإرجاع true / false عند إعطائها رقم الإصدار ، على سبيل المثال:

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

يمكنك أن تكون محددة كما تريد عند التحقق من بناء ، منذ إصدار سلسلة يمكن أن تشمل كل ما يلي:

  • الرئيسية - الرئيسية رقم
  • القصر - القصر رقم
  • بناء - بناء رقم
  • مراجعة - مراجعة عدد

حتى نتمكن من التحقق من معين بناء عدد على النحو التالي:

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

Silverlight 1.0 بيتا تضمنت السيطرة.الإعدادات.الإصدار الممتلكات التي تم استبدال مع isVersionSupported (طريقة) .الفكرة هي أنه يجب أن لا يكون البرمجة ضد إصدارات معينة من Silverlight.بل يجب أن يكون التحقق من إذا كان العميل لديه على الأقل verion 1.0 أو 2.0.... الخ

أن يقال, يمكنك الحصول على سيلفرلايت رقم الإصدار في فايرفوكس عن طريق التحقق من Silverlight plugin وصف:

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

يظهر '2.0.30523.8 على جهاز الكمبيوتر.

علما أنه من الممكن أن القوة الغاشمة عليها بالتكرار من خلال إطلاق إصدار الأرقام. ويفترض هذا ما BrowserHawk لا - أنها سوف التقرير نسخة من Silverlight العميل المثبتة.

نصائح أخرى

حصلت على هذا من http://forums.asp.net/p/1135746/1997617.aspx#1997617 وهو نفس الرابط ستو أعطاك.لقد تضمنت التعليمات البرمجية المتكررة.

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
};

وجدت هذا الموقع الذي يكشف النسخة الكاملة من silverlight- سيلفرلايت الإصدار (ويعرف أيضا باسم silverlightversion.com)

كما ذكر في التعليقات أعلاه لا يوجد حاليا أي كفاءة طريقة مباشرة للحصول على تثبيت Silverlight النسخة رقم (الذي يعمل عبر متصفح منصة).

كتبت في ما بعد على كيفية حل هذه المشكلة و الكشف عن سيلفرلايت الرئيسية في النسخة رقم (بما في ذلك الإصدار 3) برمجيا و أكثر كفاءة باستخدام جافا سكريبت.

يمكنك العثور على رمز الوظيفة:

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

حظا سعيدا!

البيئة.الإصدار سوف تفعل ما تريد!دعمت منذ Silverlight 2.0

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top