5

我有兴趣完全用silverlight(个人原因)创建一个网站,但我不希望还没有silverlight(很多)的人必须安装插件才能查看我的网站。我倾向于的解决方案是从网站的平面 html/css 版本开始,只向已经安装它的人展示 silverlight 版本。

我的问题是这样的:

我的推理是不是被误导了。有没有更好的方法来解决这个问题。避免在网站的两个版本之间重复内容的最佳方法是什么。

4

7 回答 7

2

我个人喜欢网站的优雅降级。我想在我的网站上安装 Silverlight,但我在 Twitter 上看到有人来到 Silverlight 网站并说 - 我绝不会安装那个插件。因此,这些人也必须得到容纳。

我写了关于 Silverlight Islands,如何使用 JQuery 来实现。这种方法提供了搜索引擎素材,它为非 Silverlight 爱好者提供了一种使用该网站的方式,它为您提供了一种随心所欲地享受您的网站的方式。

但这是更多的工作。 http://www.faxt.com/blog/post/2008/09/Show-Multiple-Silverlight-Controls-in-the-Same-Page-with-jQuery.aspx

于 2009-05-19T14:00:03.657 回答
0

这取决于您所说的“内容”。

如果“内容”是指驱动网站的代码,那么您将需要将所有内容编写两次,而我看不出有任何解决办法。

如果“内容”是指代码呈现的内容,那么可以做一些事情来减少重复。如果您以 XML 等已知格式存储内容,则可以在 HTML/CSS 端使用 XSLT 将 XML 转换为 HTML 以进行呈现。然后在 Silverlight 端,您还可以解析 XML 并以您想要的任何格式显示它。使用这种技术,您只需重写框架以显示内容。

于 2009-05-19T13:53:03.500 回答
0

进行快速搜索,我发现此页面可能有用: http: //www.adefwebserver.com/DotNetNukeHELP/Misc/Silverlight/DetectSilverlight/Default.html 也许使用该方法检测 Silverlight,您可以使用 Silverlight 将用户重定向到您的真正的 Silverlight 页面和/或将其他用户重定向到常规 html 页面。

于 2009-05-19T13:56:01.510 回答
0

查看 unobtrusify.com,它适用于不显眼的 javascript,但同样的道理也成立。

另外,请查看 Scott Guthrie 关于未安装 Silverlight 的博客:weblogs.asp.net/scottgu/archive/2007/10/30/optimizing-the-silverlight-install-experience.aspx

如果您不想复制,我会说在给定的 div 标签中包含 HTML 并将它们拉入您的 Silverlight 应用程序,有效地将其用作不同的表示层。您可以使用 Javascript 库根据用户是否安装了 Silverlight 来显示/隐藏该 HTMl。

于 2009-05-19T13:58:22.693 回答
0

我建议阅读有关SilverSpine的文章,这是 McCann 开发的一种用于管理此类 Silverlight/XHTML 集成的技术。

迈克尔

于 2009-05-19T15:07:32.990 回答
0

首先,为没有 Silverlight 插件的用户提供低级体验是一个非常好的做法。它还将为您的网站提供更好的 SEO。如果您有能力使用 Silverlight 3 和 ASP.NET,那么 .NET RIA 服务对于跨 Silverlight 和 ASP .NET 重用代码来说是一个非常有吸引力的选择。Ria 服务和教程可在此处获得:

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

于 2009-05-19T15:16:41.927 回答
-6

好吧,您可以使用 Flash,然后 99.9% 的访问者将拥有该插件。

于 2009-05-19T13:51:59.087 回答