Silverlight, который деградирует до html
-
22-08-2019 - |
Вопрос
Я заинтересован в создании веб-сайта полностью на silverlight (личные причины), но я не хочу, чтобы людям, у которых еще нет silverlight (а их очень много), приходилось устанавливать плагин только для просмотра моего сайта.Решение, к которому я склоняюсь, состоит в том, чтобы начать с простой html / css-версии сайта и представить версию silverlight только тем, у кого она уже установлена.
Мой вопрос заключается в следующем:
Являются ли мои рассуждения ошибочными?Есть ли лучший способ сделать это?И каков наилучший способ избежать необходимости дублировать контент в обеих версиях сайта?
Решение
Во-первых, предоставление низшего уровня для пользователей без плагина Silverlight - это очень хорошая практика.Это также обеспечит лучшую SEO-оптимизацию вашего сайта.Если вы можете позволить себе использовать Silverlight 3 и ASP.NET тогда .Сервисы NET RIA - очень привлекательный вариант для повторного использования кода в Silverlight и ASP .NET.Сервисы Ria и учебные пособия доступны здесь:
Другие советы
Лично мне нравится изящная деградация веб-сайта.Я хочу, чтобы Silverlight был на моем сайте, но я вижу людей в Twitter, которые заходят на сайт Silverlight и говорят - я ни за что не установлю этот плагин.Так что эти люди тоже должны быть размещены.
Я писал об островах Silverlight, о том, как реализовать с помощью jQuery.Этот метод предоставляет материал для поисковой системы, он предоставляет возможность не любителям Silverlight пользоваться сайтом, и он предоставляет вам возможность наслаждаться вашим веб-сайтом так, как вы хотите.
Но это намного больше работы.http://www.faxt.com/blog/post/2008/09/Show-Multiple-Silverlight-Controls-in-the-Same-Page-with-jQuery.aspx
Выполнив быстрый поиск, я нашел эту страницу, которая может быть полезна:http://www.adefwebserver.com/DotNetNukeHELP/Misc/Silverlight/DetectSilverlight/Default.html Возможно, используя этот метод для обнаружения Silverlight, вы сможете перенаправлять пользователей Silverlight на свою реальную страницу Silverlight и / или перенаправлять других пользователей на обычную html-страницу.
Проверьте unobtrusify.com , это для ненавязчивого javascript, но рассуждения те же.
Кроме того, ознакомьтесь с блогом Скотта Гатри о том, что Silverlight не установлен:weblogs.asp.net/scottgu/archive/2007/10/30/optimizing-the-silverlight-install-experience.aspx
Если вы не хотите дублировать, я бы посоветовал использовать HTML-код в заданных тегах div и перенести их в свое приложение Silverlight, эффективно используя его как другой уровень представления.Вы можете использовать библиотеку Javascript для отображения / скрытия этого HTML-кода в зависимости от того, установлен ли такой пользователь, как Silverlight.
Это зависит от того, что вы подразумеваете под "контентом".
Если под "контентом" вы подразумеваете код, управляющий веб-сайтом, то вам нужно будет написать все дважды, и я не вижу никакого способа обойти это.
Если под "контентом" вы подразумеваете то, что представляет код, то можете сделать некоторые вещи, чтобы уменьшить дублирование.Если вы храните свой контент в известном формате, таком как XML, вы можете использовать XSLT на стороне HTML / CSS для преобразования XML в HTML для рендеринга.Затем на стороне Silverlight вы также можете проанализировать XML и отобразить его в любом формате, который вы хотите.С помощью этого метода вы просто переписываете фреймворк для отображения содержимого.
Я бы рекомендовал прочитать о Серебряная колючка, метод, разработанный McCann для управления этим типом интеграции Silverlight / XHTML.
Майкл
ну, вы могли бы использовать Flash, тогда у 99,9% ваших посетителей будет этот плагин.