Вопрос

Я пытаюсь обновить свой сайт до Silverlight 3.Все мои клиенты получают разумно хороший опыт от обновления Silverlight 2 до Silverlight 3 или просто новой установки.

Но на Mac OS X в Firefox 3.5 после установки Silverlight они не могут просматривать какие-либо приложения Silverlight, они просто пустые на экране.Ошибок нет, я могу щелкнуть правой кнопкой мыши по приложению и получить доступ к настройкам Silverlight и т.д., Но ничего не отображается.Но в Safari это работает абсолютно нормально.

У кого-нибудь еще была эта проблема?

Кстати, я также перезапустил компьютер, но безуспешно.

Приветствия, Эш.

Это было полезно?

Решение

Был и четвертый способ :

в параметрах объекта, где у вас есть width и height, просто установите height равным фиксированному размеру в пикселях.

<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 и перезапустил браузер.Надеюсь, это поможет.

Это прекрасно работает в Firefox 3.5 на OS X (10.5.7).Проверьте, есть ли у вас Silverlight Firefox плагин отключен.

Работает Silverlight 3 на OS X в Firefox 3.5 http://img148.imageshack.us/img148/3585/picture1jcf.th.png

То же самое для меня, когда я использую обычную 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, ie, safari) отображают элемент управления SL корректно.

Это похоже на проблему с javascript, но в настоящее время не знаю, где именно...

Это известная проблема, и у вас в основном есть три варианта;

  • Продолжайте разрабатывать с 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" - глючный, дорогой и практически не дает никаких преимуществ своим пользователям.Но поставляется завернутым в красивую упаковку, которая заставляет людей "купиться на это"...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top