2011-08-07 24 views
0

我对silverlight很新颖。首先,我必须提出一个基本和基本的问题,是否有可能在网页上放置一个SL应用程序而没有任何服务器?在HTML页面放置一个Silverlight应用程序

然后,如果是:D,我怎样才能将我的SL应用程序放在没有任何服务器的HTML页面上。 我试过对象标签,但没有显示(只是一个空白的silverlight框)。 我认为说一定很重要,我的XAP文件上传到另一个域。

回答

1

这里可能有几个问题之一。首先,是的,你可以在Silverlight中嵌入Silverlight。如果您在创建Silverlight项目时创建Web项目,则会得到两个测试页面,一个是.aspx另一个.html。它看起来是这样的(当然有一些脚本以及):

<form id="form1" runat="server" style="height:100%"> 
<div id="silverlightControlHost"> 
    <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%"> 
     <param name="source" value="ClientBin/SilverlightApplication1.xap"/> 
     <param name="onError" value="onSilverlightError" /> 
     <param name="background" value="white" /> 
     <param name="minRuntimeVersion" value="3.0.40818.0" /> 
     <param name="autoUpgrade" value="true" /> 
     <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40818.0" style="text-decoration:none"> 
      <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style:none"/> 
     </a> 
    </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div> 
</form> 

其次,你的Silverlight应用程序确实应该生活在同一台服务器上的网站上。如果你将它移动到ClientBin(例如),那么它应该工作。虽然this thread似乎表明,只要您的服务器可以看到它应该工作的XAP文件。 This thread表明您需要编辑AppManifest.xml文件,添加以下内容:

<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
ExternalCallersFromCrossDomain="ScriptableOnly"> 

注:我没有尝试过任何这些。

第三,您需要确保已安装Silverlight客户端运行时。

+0

当我把它放在同一台服务器上,它工作正常。所以没有办法使用来自其他服务器或域的xap文件? –

+0

@uni - 你*可能​​能够用跨域策略文件来做到这一点。我现在正在研究这个问题。 – ChrisF

相关问题