views:

3219

answers:

7

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.

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.

Has anyone else had this problem?

BTW, I have also restarted the machine, but no luck.

Cheers, Ash.

A: 
Well I can run Silverlight 2 apps, just not Silverlight 3. Its so weird!
Ash
A: 

Same for me, when i use plain aspx page to host silverlight 3 control it works :

<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&amp;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 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&amp;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.

Other browsers (opera, chrome, ie, safari) display the SL control correctly.

It looks like javascript problem, but currently do not know where...

A: 

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...

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...

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"...

Thomas Hansen
Don't mean to be rude, but for god sake - Silverlight is "ActiveX2.0" - are you kidding me? The great thing about stackoverflow.com is the knowledgable users, then someone like yourself comes on here and gives their ignorant opinion. Don't even bother next time.
Ash
Well, if it wasn't ActiveX then why is it being patched in these days due to the ATL flaw just discovered...? I am sure you too know what ATL means and what it wraps ... ;)
Thomas Hansen
-1 for ignorance
JonoW
+1  A: 

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.

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.

I will follow the bug as i do currently, help and wait a little while continue using silverlight and keep first option :)

Thanks for your answer.

I traced the bug here => https://bugzilla.mozilla.org/show_bug.cgi?id=506231

+1  A: 

There was a fourth way :

in the object parameters where u have width and height, just set height to a fixed size in pixels.

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

it will appear correctly now on 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.

Thank you very much, finally someone who knows what they're talking about :) I'll keep my eyes on this: https://bugzilla.mozilla.org/show_bug.cgi?id=506231
Ash
A: 

Deleted this message because it was off-topic. Sorry.

Jeff
A: 

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.

Dustin Nordquist