На эту тему уже было много полезной информации. Если у человека не установлен Silverlight, а он заходит на страницу, которая его использует, то он видит маленький баннер, нажав на который он скачает и установит Silverlight без дополнительных перезагрузок. И сразу увидит обновленную страницу. И никаких всплывающих окон или перечеркнутых страниц.
Это поведение по умолчанию. Внешним видом можно управлять. На эту тему есть отдельный подробный документ, который можно скачать. С выходом обновления Silverlight.js появилась и еще одна более простая опция.
Для запуска Silverlight используется метод createObject или createObjectEx. Например, если мы говорим про плеер, полученный из Expression Encoder, то это файл StartPlayer.js.
Так вот у этого метода в properties можно указать свойство alt. И там в виде полного HTML-кода описать, что будет видеть пользователь на месте Silverlight-содержимого.
Например, можно туда вставить привычную с прошлых версий картинку "Загрузить Microsoft Silverlight" со ссылкой на дистрибутив:
Silverlight.createObjectEx( { source: 'player.xaml', parentElement: $get(parentId ||"divPlayer_0"), id:this._hostname, properties:{ width:'100%', height:'100%', version:'1.0', background:document.body.style.backgroundColor, isWindowless:'false', alt:"<a href='javascript:Silverlight.getSilverlight(\"1.0\");' style='text-decoration: none;'> <img src='getsilverlight_ru.png' alt='Загрузить Microsoft Silverlight' style='border-style: none'/></a>"}, events:{ onLoad:Function.createDelegate(this, this._handleLoad) } } );
Для этого я использую следующую картинку, которую я назвал getsilverlight_ru.png и положил в тот же каталог:
На эту тему уже было много полезной информации. Если у ч