【问题标题】:Silverlight 3 on Mac OS X in Firefox 3.5 doesn't work!Firefox 3.5 中 Mac OS X 上的 Silverlight 3 不起作用!
【发布时间】:2009-07-22 16:08:37
【问题描述】:

我正在尝试将我的网站升级到 Silverlight 3。从 Silverlight 2 升级到 Silverlight 3 或全新安装,我的所有客户都获得了相当不错的体验。

但在 Firefox 3.5 的 Mac OS X 上,安装 Silverlight 后,他们无法查看任何 Silverlight 应用程序,屏幕上只是空白。没有错误,我可以右键单击应用程序并访问 Silverlight 首选项等,但没有任何渲染。但它在 Safari 中运行得非常好。

有其他人遇到过这个问题吗?

顺便说一句,我也重启了机器,但没有运气。

干杯, 灰烬。

【问题讨论】:

    标签: macos firefox silverlight-3.0 silverlight-2.0 firefox3.5


    【解决方案1】:

    还有第四种方式:

    在你有宽度和高度的对象参数中,只需将高度设置为以像素为单位的固定大小。

    <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="600px">
    

    它现在会在 Firefox 上正确显示。

    问题仍然是一个错误,但您可以使用该解决方法。

    未来的问题是,如果silverlight高度在使用时发生变化,动态定义宿主div的高度。

    【讨论】:

    【解决方案2】:

    解决方案 2,使用 w3c 平台:我的网站已经尊重 w3c,但很难使用动态功能,例如仅在 Xhtml、Ajax 和 Css 中的商业应用程序。

    解决方案 3,不要使用 Firefox:在这里也很抱歉,30% 的人使用该浏览器,对于我正在制作的网站,它是潜在客户。

    我会像目前一样关注这个错误,帮助并等待一会儿继续使用 silverlight 并保留第一个选项:)

    感谢您的回答。

    我在这里追踪了这个错误 => https://bugzilla.mozilla.org/show_bug.cgi?id=506231

    【讨论】:

      【解决方案3】:

      我遇到了 Silverlight 不显示内容的相同问题(Mac OS 10.5.8、FireFox 3.6.10)。为了解决这个问题,我禁用了我的 Firebug 扩展并重新启动了浏览器。希望对您有所帮助。

      【讨论】:

        【解决方案4】:

        它在 OS X (10.5.7) 上的 Firefox 3.5 中运行良好。检查您是否禁用了 Silverlight Firefox 插件

        Working Silverlight 3 on OS X in Firefox 3.5 http://img148.imageshack.us/img148/3585/picture1jcf.th.png

        【讨论】:

        • 我可以运行 Silverlight 2 应用程序,但不能运行 Silverlight 3。太奇怪了!
        【解决方案5】:

        对我来说也是一样,当我使用纯 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>
        

        但是当我在另一个 div 之间包含我的 silverlight 对象(在 aspx 页面内)时(例如调整大小或没有其他内容),我在 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的问题,但目前不知道在哪里...

        【讨论】:

          【解决方案6】:

          这是一个已知问题,您基本上有三个选择;

          • 继续使用 Silverlight 进行开发,并预计此类问题在未来会频繁出现 - 即使您这次可以让您的应用程序正常工作,它仍然会在以后每隔一段时间出现。
          • 利用某种 Ajax 库将您的应用程序移植到 W3C 平台(ECMA、CSS、(X)HTML) - 从而永久摆脱该问题。
          • 完全放弃对您的应用程序的任何非基于 Microsoft 的操作系统支持。 Silverlight 偶尔会部分地与许多非基于 Microsoft 的操作系统一起工作,但是一旦 Microsoft 获得了他们想要的 Silverlight 市场份额,他们将没有经济激励让 Silverlight 与 Mac OS X、Linux、Symbian、iPhone 或这个世界上任何其他不是由他们自己创建的操作系统 - 事实上,他们的经济激励将是使其在非基于 MS 的操作系统上工作,因为这将推动他们的操作系统(如 Windows)的采用7、WindowsMo​​bile 等。对于你来说,遵循这个策略显然是非常危险的,因为微软正在将市场份额流失到 Linux,尤其是客户端上的 Mac OS X。更不用说他们可能拥有世界上不到 1% 的手机。所有这些共同转化为您的应用程序的更少客户(用户)。但是,如果您可以肯定您的客户纯粹希望将您的应用程序与基于 Microsoft 的操作系统一起使用,那么我想这对您来说并不重要......

          我知道这听起来很激烈,但“对象标签”应该是这里的线索提供者。 Silverlight 只不过是带有新名称和一些新奇色彩的新包装中的 ActiveX - 如果您愿意,也可以是 ActiveX2.0。我们都知道 ActiveX1.0 是如何工作的......

          微软在其历史上创造了一些非常伟大的创新,.Net 框架和 C# 语言就是其中之一,但 ActiveX1.0 和 ActiveX2.0 都不是这些伟大的创新。 Silverlight 有点像“Windows Millennium of Frameworks”——有缺陷,价格昂贵,并且给用户带来的好处很少。但是包装在一个漂亮的包装里,让人“买进”……

          【讨论】:

          • 不要粗鲁,但看在上帝的份上 - Silverlight 是“ActiveX2.0” - 你在开玩笑吗? stackoverflow.com 的伟大之处在于知识渊博的用户,然后像你这样的人来到这里并给出他们无知的意见。下次别打扰了。
          • 好吧,如果不是 ActiveX,那么为什么最近因为刚刚发现的 ATL 缺陷而对其进行修补...?我相信你也知道 ATL 的含义以及它包含的内容...... ;)
          猜你喜欢
          • 2010-09-05
          • 1970-01-01
          • 1970-01-01
          • 2015-01-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-14
          相关资源
          最近更新 更多