Элемент управления Silverlight имеет только функцию IsVersionSupported , которая возвращает истину / ложь, когда вы даете ему номер версии, например ::100100
if(slPlugin.isVersionSupported("2.0")) {
alert("I haz some flavour of Silverlight 2");
При проверке сборки вы можете быть настолько конкретны, насколько захотите, поскольку строка версии может включать в себя все следующее:
- Major - старший номер
- несовершеннолетний - младший номер
- 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 установил клиент.