Silverlight InitParams запрашивает установку Silverlight в Mozilla и Chrome
-
11-09-2019 - |
Вопрос
У меня проблема с поведением элемента управления Silverlight на странице ASP.NET.Элемент управления работает нормально в IE, но в Mozilla я получаю сообщение "установить Microsoft Silverlight".
После нескольких попыток / неудачных сеансов я пришел к выводу, что я получаю это сообщение в Mozilla, только если я использую <param name="InitParams"/>
параметр в моем элементе управления Silverlight.Если я удалю параметр, все будет в порядке.
Сталкивался ли кто - нибудь с этой проблемой раньше?
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>
Решение
Кажется, я решил эту проблему.По крайней мере, я разобрался в проблеме.Если у меня есть '/> param в моем объекте silverlight.
Сторона серверов свойств InitParams работает любым способом в IE.Но в Mozilla, если свойство InitParams (которое является строкой ) равно null или string.empty, Mozilla не отображает приложение silverlight, только фрейм загрузки silverlight.
Это очень странно, потому что html-результат со страницы .asp одинаков в каждом браузере.В любом случае, если InitParams имеет значение, все работает отлично.Поэтому я думаю, что на данный момент это правильное решение, просто добавьте туда какое-нибудь фиктивное значение.
Другие советы
Это было бы легко проверить, но имя параметра - не InitParams, а скорее iДополнительные параметры.Возможно, IE более снисходителен к оболочке.