Silverlight 3 в Mac OS X в Firefox 3.5 не работает!
Я пытаюсь обновить свой сайт до Silverlight 3. У всех моих клиентов достаточно хороший опыт обновления с Silverlight 3 с Silverlight 2 или просто новой установки.
Но в Mac OS X в Firefox 3.5 после установки Silverlight они не могут просматривать какие-либо приложения Silverlight, на экране ничего не отображается. Без ошибок, я могу щелкнуть правой кнопкой мыши на приложении и получить доступ к настройкам Silverlight и т. Д., Но ничего не отображается. Но это работает абсолютно нормально в Safari.
У кого-нибудь еще возникла такая проблема?
Кстати, я также перезапустил машину, но не повезло.
Ура, Эш.
6 ответов
Был четвертый способ:
в параметрах объекта, где у вас есть ширина и высота, просто установите высоту фиксированного размера в пикселях.
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="600px">
теперь он будет отображаться правильно в Firefox.
Проблема остается ошибкой, но вы можете использовать этот обходной путь.
В будущем проблема будет заключаться в том, чтобы динамически определять высоту хоста div, если высота Silverlight изменяется во время его использования.
Решение 2, используйте платформу w3c: Мой веб-сайт уже уважает w3c, но трудно использовать динамические функции, такие как для бизнес-приложений только на Xhtml, Ajax и Css.
Решение 3: не используйте Firefox: извините, 30% людей используют этот браузер, и для сайта, который я делаю, это потенциальные клиенты.
Я буду следить за ошибкой, как и сейчас, помогу и немного подожду, продолжу использовать silverlight и оставлю первый вариант:)
Спасибо за Ваш ответ.
Я проследил ошибку здесь => https://bugzilla.mozilla.org/show_bug.cgi?id=506231
У меня была такая же проблема с Silverlight, не отображающим контент (Mac OS 10.5.8, FireFox 3.6.10). Чтобы решить эту проблему, я отключил расширение Firebug и перезапустил браузер. Надеюсь, это поможет.
То же самое для меня, когда я использую простую страницу aspx для размещения элемента управления silverlight 3, это работает:
<div id="silverlightControlHost">
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
<param name="source" value="ClientBin/SilverlightApplication2.xap"/>
<param name="onError" value="onSilverlightError" />
<param name="background" value="white" />
<param name="minRuntimeVersion" value="3.0.40624.0" />
<param name="autoUpgrade" value="true" />
<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" 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>
Но когда я включаю свой объект silverlight (внутри страницы aspx) между другим div (например, чтобы изменить размер или больше ничего), я получаю пустую страницу под firefox 3.5:
<div id="silverlightControlHost">
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
<param name="source" value="ClientBin/SilverlightApplication2.xap"/>
<param name="onError" value="onSilverlightError" />
<param name="background" value="white" />
<param name="minRuntimeVersion" value="3.0.40624.0" />
<param name="autoUpgrade" value="true" />
<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" 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></div>
Сделайте тест самостоятельно с новым проектом VS.
Другие браузеры (Opera, Chrome, т.е. Safari) правильно отображают элемент управления SL.
Похоже, проблема с JavaScript, но в настоящее время не знаю, где...
Он отлично работает в Firefox 3.5 на OS X (10.5.7). Проверьте, отключен ли плагин Silverlight Firefox.
Это известная проблема, и у вас есть три варианта;
- Продолжайте разрабатывать с Silverlight и ожидайте, что подобные проблемы будут часто появляться в будущем - даже если вы сможете заставить ваше приложение работать в этот раз, оно все равно время от времени будет появляться в будущем.
- Перенесите ваше приложение на платформу W3C (ECMA, CSS, (X)HTML) с использованием некоторой библиотеки Ajax - и, следовательно, навсегда избавитесь от проблемы.
- Полностью прекратите любую поддержку ОС не на базе Microsoft для вашего приложения. Silverlight время от времени и частично будет работать со многими операционными системами, не основанными на Microsoft, но как только Microsoft приобретет долю рынка, которую они хотят для Silverlight, у них не будет финансовых стимулов для того, чтобы заставить Silverlight работать ни с Mac OS X, Linux, Symbian, iPhone или любые другие операционные системы в этом мире, созданные не ими самими - фактически их финансовые стимулы будут заключаться в том, чтобы заставить их НЕ работать в операционных системах, не основанных на MS, поскольку это будет способствовать принятию их операционных систем, таких как Windows 7, WindowsMobile и т. д. Следовать этой стратегии, очевидно, довольно опасно, так как Microsoft истощает доли рынка на Linux и особенно Mac OS X на клиенте. Не говоря уже о том, что у них, вероятно, менее 1% мобильных телефонов в этом мире. Что все вместе означает меньше клиентов (пользователей) для ваших приложений. Но если вы можете быть абсолютно уверены в том, что ваши клиенты просто захотят использовать ваши приложения с операционными системами на базе Microsoft, тогда, я думаю, для вас это не имеет большого значения...
Я знаю, это звучит радикально, но "объектная метка" должна была быть ключом к разгадке. Silverlight - это не что иное, как ActiveX в новой упаковке с новым именем и новыми причудливыми цветами - или ActiveX2.0, если хотите. И мы все знаем, как работал ActiveX1.0...
В своей истории Microsoft создала несколько впечатляющих инноваций, среди которых -.Net Framework и язык C#, но ни ActiveX1.0, ни ActiveX2.0 не входят в число этих замечательных инноваций. Silverlight в некотором роде похож на "Windows Millennium of Frameworks" - глючный, дорогой и дает мало пользы для пользователей. Но он упакован в красивую упаковку, которая заставляет людей "покупать в нем"...