2

我对 ASP.NET 页面中的 Silverlight 控件的行为有疑问。该控件在 IE 中工作正常,但在 Mozilla 中,我收到“安装 Microsoft Silverlight”消息。

经过一些尝试/失败会话后,我得出的结论是,只有<param name="InitParams"/>在我的 Silverlight 控件中使用参数时,我才会在 Mozilla 中收到该消息。如果我删除参数,一切正常。

以前有人遇到过这个问题吗?

ASP.NET 页面代码:

<div style="height: 100%; width: 100%;">
    <object  data="data:application/x-silverlight-2," type="application/x-silverlight-2"
        width="100%" height="100%">
        <param name="source" value="http://server/domain/ClientBin/MyName.xap" />
        <param name="onError" value="onSilverlightError" />
        <param name="background" value="white" />
        <param name="minRuntimeVersion" value="3.0.40818.0" />
        <param name="autoUpgrade" value="true" />
        <param name="EnableGPUAcceleration" 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>
4

2 回答 2

3

看来我已经解决了这个问题。至少我已经弄清楚了问题所在。如果我的 silverlight 对象中有 '/> 参数。

InitParams 属性服务器端在 IE 中以任何方式工作。但是在 Mozilla 中,如果 InitParams 属性(它是一个字符串)为 null 或 string.empty,Mozilla 不会渲染 silverlight 应用程序,只会渲染下载 silverlight 框架。

这很奇怪,因为 .asp 页面的 html 结果在每个浏览器中都是相同的。无论如何,如果 InitParams 有价值,那么一切都很好。所以我认为,目前,这是正确的解决方案,只需在其中添加一些虚拟值。

于 2009-12-18T13:36:55.757 回答
0

这很容易测试,但参数名称不是 InitParams 而是initParams。也许 IE 对大小写更宽容。

这里的例子

于 2009-12-01T19:18:48.720 回答