Есть ли функция javascript, которую я могу использовать, чтобы определить, установлена ли конкретная версия Silverlight в текущем браузере?
Меня особенно интересует версия Silverlight 2 Beta 2. Я не хочу использовать метод по умолчанию, когда за элементом управления silverlight отображается изображение, которое отображается только в том случае, если плагин Silverlight не загружается.
Редактировать: Из ссылки в принятом ответе:
Включите Silverlight.js (из Silverlight SDK)
Silverlight.isInstalled("2.0");
@Husky, нет причин не вставлять .0, так как он заставит его работать в IE, и любые подверсии silverlight, установленные на клиентском компьютере, например .1, по-прежнему будут возвращать true при тестировании для .0



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Включите 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.
Пожалуйста, используйте последний сценарий, доступный на http://code.msdn.microsoft.com/silverlightjs для последних обновлений. В нем есть несколько исправлений.
Это уже не последняя и, по сути, «снята на пенсию».
@JoeMabel, есть ли шанс, что вы знаете, где можно найти скрипт, который не устарел?
Не боюсь. Я не знаю, как лучше сделать это сейчас.
Загрузите этот скрипт: 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.
Обратите внимание, что вам нужно указать младшую версию («.0»).
Silverlight.isInstalled("2")работает в Firefox, но не работает в IE.