2010-02-02 87 views
2

如何在博客文章中嵌入Silverlight中编写的演示小程序?是否有可能使用任何托管的博客引擎,或只使用我自己托管的博客引擎?如何在博客页面中嵌入Silverlight控件?

我假设我需要使用与SL控件一样的常规(X)HTML页面中的标签和.js。有没有托管的博客引擎可以让我进入? (这是否可能与博主?)

SL安全模型是否意味着XAP文件需要托管在博客页面本身所在的同一站点上?

回答

3

您可以使用<object>标记在HTML中托管Silverlight应用程序,因此博客主机无需了解任何这些内容。没有服务器端元素来托管一个Silverlight应用程序它纯粹是客户端的事情。

<object id="SL" data="data:application/x-silverlight-2," type="application/x-silverlight-2" style="width:400px; height:300px"> 
    <param name="source" value="MySLApp.xap" /> 
    <param name="minRuntimeVersion" value="3.0.40624.0 /> 
    <param name="initParams" value="someParam=value" /> 
    <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40624.0" style="text-decoration: none;"> 
    <img src="http://go.microsoft.com/fwlink/?LinkId=108181" style="border-style: none" alt="Get Microsoft Silverlight" /> 
    </a> 
</object> 

在这种情况下,Silverlight应用程序“MySLApp.xap”被放置在与使用它的HTML页面相同的文件夹中。但是,如果你愿意,它可以在不同的服务器上。但是,如果您的应用程序是自包含的,并且不需要与主机页面进行通信,那么访问HTML桥接将会被阻止,然后就没有问题了。

+1

特定于Blogger的疑难问题:如果按照图示格式化对象标记,则即使您使用“编辑HTML”视图,Blogger也可能会引入虚假格式选项卡。因此,对于Blogger,您需要忽略好的风格,并将整个模块放在一条线上。 – Eric 2010-02-08 17:11:47

1

对我而言,简单的解决方案就是使用iFrame。所以,我发表了由Visual Studio生成的常规TestPage.html到我的网站(连同当然.xap文件),然后嵌入它:

<iframe src="http://www.lostbearlabs.com/sl/Spring001/TestPage.html" frameborder="0" width="400" height="400" scrolling="no" ></iframe> 

使用Blogger,我发现了这个疑难杂症:任何企图使HTML漂亮的(例如通过将其分成单独的行)会导致博主将伪造的<br>标签插入到输出中,即使我使用“编辑HTML”视图执行编辑。所以iFrame标签必须全部放在一条线上!

2

我创建了一个Silverlight xap来托管我的WordPress主题中的英雄图像或视频 - 我使用initparams和每个帖子的自定义字段将内容传递给它。

这样我可以使用相同的XAP托管并酌情媒体控制视频或图片与凉爽淡入/点击效果

例如图像后:

http://www.blackspike.com/site/html/display-google-docs-spreadsheets-in-wordpress

例如视频后(点击控制VID):

http://www.blackspike.com/site/wpf/hanselmans-babysmash

无论使用S ame xap!

0

如果HTML页面和Silverlight xap文件托管在同一台服务器上,标记为上述答案的解决方案效果很好。

由于大多数情况下这是不可能的,因为大多数博客使用博客/ WordPress。我们没有任何方法在这些托管提供商上设置MIME类型。

这是一个很好的链接,详细解释了关于hosting an Silverlight application in blogger