Silverlight, который ухудшается до HTML - PullRequest
5 голосов
/ 19 мая 2009

Я заинтересован в создании сайта полностью в Silverlight (по личным причинам), но я не хочу, чтобы люди, у которых еще нет Silverlight (достаточно много), должны были установить плагин только для просмотра моего сайта. Решение, к которому я склоняюсь, состоит в том, чтобы начать с плоской html / css-версии сайта и представить версию silverlight только тем, у кого она уже установлена.

Мой вопрос такой:

Мои рассуждения ошибочны. Есть ли лучший способ пойти по этому поводу. И каков наилучший способ избежать дублирования контента в обеих версиях сайта.

Ответы [ 7 ]

2 голосов
/ 19 мая 2009

Мне лично нравится изящная деградация веб-сайта. Я хочу, чтобы Silverlight был на моем сайте, но я вижу в Твиттере людей, которые приходят на сайт Silverlight и говорят: я никак не могу установить этот плагин. Поэтому эти люди тоже должны быть размещены.

Я написал про Silverlight Islands, как реализовать с помощью JQuery. Этот метод предоставляет материал для поисковых систем, он позволяет любителям, не являющимся Silverlight, пользоваться сайтом, а также позволяет вам наслаждаться своим веб-сайтом по своему усмотрению.

Но это намного больше работы. http://www.faxt.com/blog/post/2008/09/Show-Multiple-Silverlight-Controls-in-the-Same-Page-with-jQuery.aspx

0 голосов
/ 19 мая 2009

Во-первых, предоставление пользователям более низкого уровня без плагина Silverlight является очень хорошей практикой. Это также обеспечит лучшую SEO для вашего сайта. Если вы можете позволить себе использовать Silverlight 3 и ASP.NET, тогда службы .NET RIA являются очень привлекательным вариантом для повторного использования кода в Silverlight и ASP .NET. Сервисы Ria и учебные пособия доступны здесь:

http://code.msdn.microsoft.com/RiaServices

0 голосов
/ 19 мая 2009

Я бы рекомендовал прочитать о SilverSpine , методике, разработанной McCann для управления этим типом интеграции Silverlight / XHTML.

Michael

0 голосов
/ 19 мая 2009

Проверьте unobtrusify.com, это для ненавязчивого javascript, но те же самые рассуждения верны.

Кроме того, проверьте блог Скотта Гатри о том, что Silverlight не установлен: weblogs.asp.net/scottgu/archive/2007/10/30/optimizing-the-silverlight-install-experience.aspx

Если вы не хотите дублировать, я бы сказал, что у вас есть HTML-теги с заданными тегами div и вытащите их в ваше приложение Silverlight, эффективно используя его в качестве другого уровня представления. Вы можете использовать библиотеку Javascript, чтобы показать / скрыть тот HTMl, на котором установлен пользователь Silverlight.

0 голосов
/ 19 мая 2009

Делая быстрый поиск, я нашел эту страницу, которая может быть полезна: http://www.adefwebserver.com/DotNetNukeHELP/Misc/Silverlight/DetectSilverlight/Default.html Возможно, используя этот метод для обнаружения Silverlight, вы можете перенаправить пользователей с Silverlight на свою настоящую страницу Silverlight и / или перенаправить других пользователей на обычную HTML-страницу.

0 голосов
/ 19 мая 2009

Это зависит от того, что вы подразумеваете под «контентом».

Если под «контентом» вы подразумеваете код, управляющий сайтом, то вам нужно будет написать все дважды, и я не вижу в этом никакого смысла.

Если под «контентом» вы подразумеваете то, что представляет код, то можете предпринять некоторые действия, чтобы уменьшить дублирование. Если вы храните свой контент в известном формате, таком как XML, вы можете использовать XSLT на стороне HTML / CSS для преобразования XML в HTML для рендеринга. Затем на стороне Silverlight вы также можете анализировать XML-файл и отображать его в любом формате. С помощью этой техники вы просто переписываете фреймворк для отображения контента.

0 голосов
/ 19 мая 2009

Если бы вы могли использовать Flash, тогда у 99,9% посетителей будет плагин.

...