Сведения о вопросе

Gaukhar

18:54, 26th August, 2020

Теги

silverlight   browser   ria    

Обнаружение версий с помощью Silverlight

Просмотров: 426   Ответов: 6

Как я могу эффективно и эффективно определить версию и, если уж на то пошло, любую доступную информацию об экземпляре Silverlight , запущенном в данный момент в браузере?



  Сведения об ответе

Chhiki

09:48, 8th August, 2020

Элемент управления Silverlight имеет только функцию IsVersionSupported, которая возвращает true / false, когда вы даете ему номер версии, например:

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

При проверке сборки можно указать все необходимые параметры, так как строка версии может включать все следующие параметры:

  • генерал - майор количество
  • мелкие - мелкие количество
  • build-номер сборки
  • редакция-номер редакции

Таким образом, мы можем проверить наличие определенного номера сборки следующим образом:

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

Бета-версия Silverlight 1.0 включала свойство control.settings.version, которое было заменено на метод isVersionSupported() . Идея заключается в том, что вы не должны программировать против конкретных версий Silverlight. Скорее всего, вы должны проверить, есть ли у клиента хотя бы verion 1.0, или 2.0, и т. д.

Тем не менее, вы можете получить номер версии Silverlight в Firefox, проверив описание плагина Silverlight:

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

Показывает '2.0.30523.8' на моем компьютере.

Обратите внимание, что это можно сделать путем перебора всех выпущенных номеров версий. Предположительно, именно это делает BrowserHawk - они сообщат, какую версию Silverlight установил клиент.


  Сведения об ответе

KOMP

13:30, 5th August, 2020

нашел этот сайт, который обнаруживает полную версию silverlight - silverlight версии (aka silverlightversion.com)


  Сведения об ответе

lesha

04:07, 27th August, 2020

Я получил это от 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
};


  Сведения об ответе

repe

12:22, 5th August, 2020

Как уже упоминалось в приведенных выше комментариях, в настоящее время нет эффективного прямого способа получить установленный номер версии Silverlight (который работает на кросс-браузерной платформе).

Я написал сообщение о том, как обойти эту проблему и определить основной номер версии Silverlight (включая версию 3) программно и более эффективно с помощью JavaScript.

Вы можете найти код и сообщение по адресу:

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

Удачи вам!


  Сведения об ответе

PIRLO

15:51, 13th August, 2020

Environment.Version будет делать то, что вы хотите! Поддерживается начиная с Silverlight 2.0


  Сведения об ответе

ITSME

07:20, 11th August, 2020

Посмотрите в silverlight.js:

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


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться