Silverlight InitParams предлагает установить Silverlight в Mozilla и Chrome - PullRequest
2 голосов
/ 01 декабря 2009

У меня проблема с поведением элемента управления 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>

Ответы [ 2 ]

3 голосов
/ 18 декабря 2009

Кажется, я решил проблему. По крайней мере, я понял проблему. Если в моем объекте silverlight есть параметр '/>.

Сторона серверов свойств InitParams работает в IE любым способом. Но в Mozilla, если свойство InitParams (которое является строкой) имеет значение null или string.empty, Mozilla не отображает приложение silverlight, только загружаемую рамку silverlight.

Это очень странно, потому что HTML-результат со страницы .asp одинаков во всех браузерах. Во всяком случае, если InitParams имеет значение, все работает отлично. Поэтому я думаю, что на данный момент это правильное решение, просто добавьте туда фиктивную ценность.

0 голосов
/ 01 декабря 2009

Это было бы легко проверить, но имя параметра - не InitParams, а i nitParams. Возможно, IE более снисходительно относится к корпусу.

Пример здесь .

...