Определить с помощью javascript, установлен ли Silverlight

Есть ли функция javascript, которую я могу использовать, чтобы определить, установлена ​​ли конкретная версия Silverlight в текущем браузере?

Меня особенно интересует версия Silverlight 2 Beta 2. Я не хочу использовать метод по умолчанию, когда за элементом управления silverlight отображается изображение, которое отображается только в том случае, если плагин Silverlight не загружается.

Редактировать: Из ссылки в принятом ответе:

Включите Silverlight.js (из Silverlight SDK)

Silverlight.isInstalled("2.0");

Обратите внимание, что вам нужно указать младшую версию («.0»). Silverlight.isInstalled("2") работает в Firefox, но не работает в IE.

Husky 10.12.2010 15:45

@Husky, нет причин не вставлять .0, так как он заставит его работать в IE, и любые подверсии silverlight, установленные на клиентском компьютере, например .1, по-прежнему будут возвращать true при тестировании для .0

Blowsie 25.04.2013 17:36
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
10
2
12 589
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Ответ принят как подходящий

Включите Silverlight.js (из Silverlight SDK)

Silverlight.isInstalled("4.0")


Ресурс:

http://msdn.microsoft.com/en-us/library/cc265155(vs.95).aspx

var hasSilverlight = Boolean(window.Silverlight);

var hasSilverlight2 = hasSilverlight && Silverlight.isInstalled('2.0');

Так далее....

Boolean(window.Silverlight) просто проверяет наличие на странице библиотеки Javascript, а не плагина Silverlight.

Andrea Lazzarotto 13.10.2014 17:32

Пожалуйста, используйте последний сценарий, доступный на http://code.msdn.microsoft.com/silverlightjs для последних обновлений. В нем есть несколько исправлений.

Это уже не последняя и, по сути, «снята на пенсию».

Joe Mabel 28.01.2015 22:46

@JoeMabel, есть ли шанс, что вы знаете, где можно найти скрипт, который не устарел?

Peter 26.05.2016 11:40

Не боюсь. Я не знаю, как лучше сделать это сейчас.

Joe Mabel 27.05.2016 19:43

Загрузите этот скрипт: http://code.msdn.microsoft.com/silverlightjs

И тогда вы можете использовать это так:

if (Silverlight.isInstalled) { alert ("Congrats. Your web browser is enabled with Silverlight Runtime"); }

        if (Silverlight.isInstalled("1.0")) {
            try {
                alert("Silverlight Version 1.0 or above is installed");
            }
            catch (err) {
                alert(err.Description);
            }
        }
        else {
            alert("No Silverlight is installed");
        }

из этого видео.

Silverlight.isInstalled всегда имеет значение true, поэтому для его использования необходимо указать строку версии, например «1.0».

«Silverlight.isInstalled всегда соответствует истине». Это неверно. Я не использую Silverlight, но на веб-сайте, который включает SDK, Silverlight.isInstalled() правильно возвращает false.

Andrea Lazzarotto 13.10.2014 17:31

Другие вопросы по теме