I'm trying to upgrade my site to Silverlight 3. All my customers are having a reasonabily good experience from upgrading to Silverlight 3 from Silverlight 2 or just a fresh install.
我正在尝试将我的网站升级到Silverlight 3.我的所有客户都有从Silverlight 2升级到Silverlight 3或只是全新安装的合理体验。
But on Mac OS X in Firefox 3.5, after Silverlight is installed they cant view any Silverlight apps, it's just blank on screen. No errors, I can right click on the app and access the Silverlight Preferences etc, but nothing renders. But it works absolutely fine in Safari.
但是在Firefox 3.5的Mac OS X上,安装Silverlight之后他们无法查看任何Silverlight应用程序,它只是屏幕上的空白。没有错误,我可以右键单击应用程序并访问Silverlight首选项等,但没有任何渲染。但它在Safari中运行得非常好。
Has anyone else had this problem?
有没有其他人有这个问题?
BTW, I have also restarted the machine, but no luck.
顺便说一句,我也重新启动了机器,但没有运气。
Cheers, Ash.
6 个解决方案
#1
There was a fourth way :
第四种方式:
in the object parameters where u have width and height, just set height to a fixed size in pixels.
在u具有宽度和高度的对象参数中,只需将高度设置为固定大小(以像素为单位)。
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="600px">
it will appear correctly now on Firefox.
它现在可以在Firefox上正确显示。
The problem stay a bug but u can use that work-around.
问题仍然存在,但你可以使用该解决方案。
The problem in the future will be to define the host div height dynamically if the silverlight height change while using it.
未来的问题是如果银色灯高度在使用时发生变化,则动态定义主机div高度。
#2
Solution 2, use w3c platform : My website respect w3c already but difficult to use dynamic functions like for a business app in Xhtml, Ajax and Css alone.
解决方案2,使用w3c平台:我的网站已经很尊重w3c,但很难使用动态功能,比如单独使用Xhtml,Ajax和Css中的商业应用程序。
Solution 3, do not use Firefox : Sorry here too, 30% peoples using that browser and for the website i am making, it is potential customers.
解决方案3,不要使用Firefox:对不起,30%的人使用该浏览器和我正在制作的网站,它是潜在客户。
I will follow the bug as i do currently, help and wait a little while continue using silverlight and keep first option :)
我会像现在一样关注这个bug,帮助并等待一段时间继续使用silverlight并保留第一个选项:)
Thanks for your answer.
感谢您的回答。
I traced the bug here => https://bugzilla.mozilla.org/show_bug.cgi?id=506231
我在这里追踪了这个错误=> https://bugzilla.mozilla.org/show_bug.cgi?id=506231
#3
I had the same issue with Silverlight not displaying content (Mac OS 10.5.8, FireFox 3.6.10). To solve the problem, I disabled my Firebug extension and restarted the browser. Hope that helps.
我遇到了与Silverlight无法显示内容相同的问题(Mac OS 10.5.8,FireFox 3.6.10)。为了解决这个问题,我禁用了我的Firebug扩展并重新启动了浏览器。希望有所帮助。
#4
It works fine in Firefox 3.5 on OS X (10.5.7). Check if you have the Silverlight Firefox plugin disabled.
它在OS X(10.5.7)的Firefox 3.5中运行良好。检查您是否禁用了Silverlight Firefox插件。
在Firefox 3.5的OS X上运行Silverlight 3 http://img148.imageshack.us/img148/3585/picture1jcf.th.png
#5
Same for me, when i use plain aspx page to host silverlight 3 control it works :
同样对我来说,当我使用普通的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>
But when i include my silverlight object (inside aspx page) between another div (to resize or nothing else for example), i got a blank page under firefox 3.5 :
但是当我在另一个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>
Do the test by yourself with a new VS project.
使用新的VS项目自己进行测试。
Other browsers (opera, chrome, ie, safari) display the SL control correctly.
其他浏览器(opera,chrome,即safari)正确显示SL控件。
It looks like javascript problem, but currently do not know where...
它看起来像javascript问题,但目前不知道在哪里...
#6
This is a known problem and you've basically got three options;
这是一个已知问题,你基本上有三个选择;
- Keep on developing with Silverlight and expect these kind of problems surfacing frequently in the future - even if you can get your application to work this time, it'll still surface later down the road every once in a while.
- Port your application to the W3C platform (ECMA, CSS, (X)HTML) utilizing some sort of Ajax library - and hence get rid of the problem permanently.
- Entirely drop any non-Microsoft based OS support for your application. Silverlight will occasionally and partially work with many non-Microsoft based Operating Systems, but once Microsoft have acquired the market share they want for Silverlight they will have no financial incentives in getting Silverlight to work with neither Mac OS X, Linux, Symbian, iPhone or any other Operating Systems in this world not created by themselves - in fact their financial incentives will be in getting it NOT to work on non-MS based Operating Systems since this will drive adoption of their Operating Systems like Windows 7, WindowsMobile etc. For you to follow this strategy is obviously quite dangerous since Microsoft is bleeding market shares to Linux and especially Mac OS X on the client. Not to mention that they have probably less then 1% of the mobile phones in this world. Which all together translates into less customers (users) for your applications. But if you can be positively certain about that your customers are purely going to want to use your applications with Microsoft based Operating Systems, then I guess it doesn't matter that much for you...
继续使用Silverlight进行开发,并期待将来经常出现这类问题 - 即使您这次可以使您的应用程序正常工作,它仍然会偶尔出现在路上。
使用某种Ajax库将您的应用程序移植到W3C平台(ECMA,CSS,(X)HTML) - 从而永久地解决问题。
完全删除任何非基于Microsoft的OS支持您的应用程序。 Silverlight偶尔和部分可以与许多非基于微软的操作系统一起工作,但是一旦微软获得了他们想要的Silverlight市场份额,他们就没有财务激励让Silverlight不能与Mac OS X,Linux,Symbian,iPhone或这个世界上任何其他操作系统都不是由他们自己创建的 - 实际上他们的财务激励措施是让它不能在非基于MS的操作系统上工作,因为这将推动他们的操作系统的采用,如Windows 7,WindowsMobile等。为你因为微软正在将市场份额降低到Linux,特别是客户端上的Mac OS X,因此遵循这一策略显然非常危险。更不用说他们在这个世界上的手机可能不到1%。这些共同转化为应用程序的较少客户(用户)。但是,如果您可以肯定地确定您的客户纯粹想要将您的应用程序与基于Microsoft的操作系统一起使用,那么我想这对您来说并不重要......
I know it sounds drastic, but the "object tag" should have been the clue-giver here. Silverlight is nothing but ActiveX in a new wrapping with a new name and some new fancy colors - or ActiveX2.0 if you wish. And we all know how ActiveX1.0 worked...
我知道这听起来很激烈,但“对象标签”应该是这里的线索。 Silverlight只是一个新的包装中的ActiveX,带有一个新名称和一些新的花哨的颜色 - 如果你愿意,可以是ActiveX2.0。我们都知道ActiveX1.0是如何工作的......
Microsoft have created some spectacularly great innovations through out their history, the .Net Framework and the C# language being one of them, but neither ActiveX1.0 nor ActiveX2.0 are among those great innovations. Silverlight is kind of like the "Windows Millennium of Frameworks" - buggy, expensive and gives few if any benefits to its users. But comes wrapped inside a beautiful package that makes people "buy into it"...
微软在他们的历史中创造了一些非常伟大的创新,.Net框架和C#语言就是其中之一,但ActiveX1.0和ActiveX2.0都不是那些伟大的创新。 Silverlight有点像“Windows Millennium of Frameworks” - 有缺陷,价格昂贵,给用户带来的好处几乎没有。但它包裹在一个美丽的包装内,让人们“买进它”......
#1
There was a fourth way :
第四种方式:
in the object parameters where u have width and height, just set height to a fixed size in pixels.
在u具有宽度和高度的对象参数中,只需将高度设置为固定大小(以像素为单位)。
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="600px">
it will appear correctly now on Firefox.
它现在可以在Firefox上正确显示。
The problem stay a bug but u can use that work-around.
问题仍然存在,但你可以使用该解决方案。
The problem in the future will be to define the host div height dynamically if the silverlight height change while using it.
未来的问题是如果银色灯高度在使用时发生变化,则动态定义主机div高度。
#2
Solution 2, use w3c platform : My website respect w3c already but difficult to use dynamic functions like for a business app in Xhtml, Ajax and Css alone.
解决方案2,使用w3c平台:我的网站已经很尊重w3c,但很难使用动态功能,比如单独使用Xhtml,Ajax和Css中的商业应用程序。
Solution 3, do not use Firefox : Sorry here too, 30% peoples using that browser and for the website i am making, it is potential customers.
解决方案3,不要使用Firefox:对不起,30%的人使用该浏览器和我正在制作的网站,它是潜在客户。
I will follow the bug as i do currently, help and wait a little while continue using silverlight and keep first option :)
我会像现在一样关注这个bug,帮助并等待一段时间继续使用silverlight并保留第一个选项:)
Thanks for your answer.
感谢您的回答。
I traced the bug here => https://bugzilla.mozilla.org/show_bug.cgi?id=506231
我在这里追踪了这个错误=> https://bugzilla.mozilla.org/show_bug.cgi?id=506231
#3
I had the same issue with Silverlight not displaying content (Mac OS 10.5.8, FireFox 3.6.10). To solve the problem, I disabled my Firebug extension and restarted the browser. Hope that helps.
我遇到了与Silverlight无法显示内容相同的问题(Mac OS 10.5.8,FireFox 3.6.10)。为了解决这个问题,我禁用了我的Firebug扩展并重新启动了浏览器。希望有所帮助。
#4
It works fine in Firefox 3.5 on OS X (10.5.7). Check if you have the Silverlight Firefox plugin disabled.
它在OS X(10.5.7)的Firefox 3.5中运行良好。检查您是否禁用了Silverlight Firefox插件。
在Firefox 3.5的OS X上运行Silverlight 3 http://img148.imageshack.us/img148/3585/picture1jcf.th.png
#5
Same for me, when i use plain aspx page to host silverlight 3 control it works :
同样对我来说,当我使用普通的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>
But when i include my silverlight object (inside aspx page) between another div (to resize or nothing else for example), i got a blank page under firefox 3.5 :
但是当我在另一个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>
Do the test by yourself with a new VS project.
使用新的VS项目自己进行测试。
Other browsers (opera, chrome, ie, safari) display the SL control correctly.
其他浏览器(opera,chrome,即safari)正确显示SL控件。
It looks like javascript problem, but currently do not know where...
它看起来像javascript问题,但目前不知道在哪里...
#6
This is a known problem and you've basically got three options;
这是一个已知问题,你基本上有三个选择;
- Keep on developing with Silverlight and expect these kind of problems surfacing frequently in the future - even if you can get your application to work this time, it'll still surface later down the road every once in a while.
- Port your application to the W3C platform (ECMA, CSS, (X)HTML) utilizing some sort of Ajax library - and hence get rid of the problem permanently.
- Entirely drop any non-Microsoft based OS support for your application. Silverlight will occasionally and partially work with many non-Microsoft based Operating Systems, but once Microsoft have acquired the market share they want for Silverlight they will have no financial incentives in getting Silverlight to work with neither Mac OS X, Linux, Symbian, iPhone or any other Operating Systems in this world not created by themselves - in fact their financial incentives will be in getting it NOT to work on non-MS based Operating Systems since this will drive adoption of their Operating Systems like Windows 7, WindowsMobile etc. For you to follow this strategy is obviously quite dangerous since Microsoft is bleeding market shares to Linux and especially Mac OS X on the client. Not to mention that they have probably less then 1% of the mobile phones in this world. Which all together translates into less customers (users) for your applications. But if you can be positively certain about that your customers are purely going to want to use your applications with Microsoft based Operating Systems, then I guess it doesn't matter that much for you...
继续使用Silverlight进行开发,并期待将来经常出现这类问题 - 即使您这次可以使您的应用程序正常工作,它仍然会偶尔出现在路上。
使用某种Ajax库将您的应用程序移植到W3C平台(ECMA,CSS,(X)HTML) - 从而永久地解决问题。
完全删除任何非基于Microsoft的OS支持您的应用程序。 Silverlight偶尔和部分可以与许多非基于微软的操作系统一起工作,但是一旦微软获得了他们想要的Silverlight市场份额,他们就没有财务激励让Silverlight不能与Mac OS X,Linux,Symbian,iPhone或这个世界上任何其他操作系统都不是由他们自己创建的 - 实际上他们的财务激励措施是让它不能在非基于MS的操作系统上工作,因为这将推动他们的操作系统的采用,如Windows 7,WindowsMobile等。为你因为微软正在将市场份额降低到Linux,特别是客户端上的Mac OS X,因此遵循这一策略显然非常危险。更不用说他们在这个世界上的手机可能不到1%。这些共同转化为应用程序的较少客户(用户)。但是,如果您可以肯定地确定您的客户纯粹想要将您的应用程序与基于Microsoft的操作系统一起使用,那么我想这对您来说并不重要......
I know it sounds drastic, but the "object tag" should have been the clue-giver here. Silverlight is nothing but ActiveX in a new wrapping with a new name and some new fancy colors - or ActiveX2.0 if you wish. And we all know how ActiveX1.0 worked...
我知道这听起来很激烈,但“对象标签”应该是这里的线索。 Silverlight只是一个新的包装中的ActiveX,带有一个新名称和一些新的花哨的颜色 - 如果你愿意,可以是ActiveX2.0。我们都知道ActiveX1.0是如何工作的......
Microsoft have created some spectacularly great innovations through out their history, the .Net Framework and the C# language being one of them, but neither ActiveX1.0 nor ActiveX2.0 are among those great innovations. Silverlight is kind of like the "Windows Millennium of Frameworks" - buggy, expensive and gives few if any benefits to its users. But comes wrapped inside a beautiful package that makes people "buy into it"...
微软在他们的历史中创造了一些非常伟大的创新,.Net框架和C#语言就是其中之一,但ActiveX1.0和ActiveX2.0都不是那些伟大的创新。 Silverlight有点像“Windows Millennium of Frameworks” - 有缺陷,价格昂贵,给用户带来的好处几乎没有。但它包裹在一个美丽的包装内,让人们“买进它”......