Closed
Bug 432371
Opened 17 years ago
Closed 16 years ago
Silverlight not working on MLB site.
Categories
(Tech Evangelism Graveyard :: English US, defect)
Tech Evangelism Graveyard
English US
Tracking
(Not tracked)
RESOLVED
WORKSFORME
People
(Reporter: leon.sha, Unassigned)
References
()
Details
(Keywords: relnote, testcase)
Attachments
(3 files, 1 obsolete file)
Go to mlb site, select a live game and enter game day. Try to play a video there.
Expect result: The video start to play.
Actual result: There is nothing in the media box.
It works on firefox 2. And for firefox 3 beta 5, it will tell you that silverlight is not installed. But for nightly build, there is nothing.
Also you can see this site.
http://preview.microsoft.com/video/
It is work on firefox 2.
Comment 1•17 years ago
|
||
works 20050921
broke 20050922
Then it looks related to bug 1156. But I wonder if it's the a problem with the site. Other Silverlight sites still work.
This is the same regression range I found in bug 421217 Comment #46. I just retried those builds for this case. But this issue is separate from that bug.
Updated•17 years ago
|
There is a chance that this has been fixed since beta 5, so if you could retest that would be awesome.
I do think we should look into this and see what the tag the site is using that no longer works.
However I don't think we should block on this unless we hear of more sites broken over this.
Flags: blocking1.9? → blocking1.9-
Comment 3•17 years ago
|
||
I'm using today's build so no change since beta 5.
But I have a testcase. I compared the silverlight.js between a site that works and one that does not work. They are different. And I reconfirmed my regression range with my testcase.
Comment 4•17 years ago
|
||
I used the quickstart to create a testcase with the silverlight.js taken from the sites.
http://www.silverlight.net/quickstarts/silverlight10/FileSetup.aspx
There are two js files: silverlight-broke.js and silverlight-works.js. Rename one to silverlight.js to work with the testcase.
Updated•17 years ago
|
Comment 5•17 years ago
|
||
Ok I dove into this some more by trying Firebug(1.1b12) for the first time. It was easy enough to use as a visual studio user.
The difference that seems to count here between the silverlight.js files is the isInstalled function. The one that works tests loading the plugin with an embed. While the other tests with an object. They both call IsVersionSupported on the plugin with 1.0 as the in parameter. In the failing case it seems like it returns false. But when I try to step through with Firebug it returns true and the plugin gets loaded but the xaml file is not loaded so the area on the page for the plugin ends up as a white block which uses the silverlight context menu. So the plugin is loaded. But that only happens when I step into the isInstalled function with Firebug.
So I assume that the IsVersionSupported function return is the reason IsInstalled returns false. I encountered no exceptions when stepping through the IsInstalled function. But why is the IsVersionSupported returning false when not stepping through the IsInstalled function and returning true when stepping through the function? That's the strangest part. Also is the plugin returning false in that case from IsVersionSupported or is the function call failing and returning false? Or would that throw an exception if the IsVersionSupported function call failed?
Jonas who can dig deeper into this? The bottom line is why does using the object tag work in FF2 and not FF3? The embed tag works in both. Changing the UA string to a Firefox UA string instead of a Minefield UA string makes no difference.
This likely looks like a plugin issue. But with the NBC Olympic site set to use Silverlight for their videos. It would not be nice if those videos did not work in the recently released FF3 come this August. If it's a plugin issue so be it. Plus we don't know it they will use the Silverlight.js that works or the one that doesn't. Heck it's possible they will be using Silverlight 2.
Comment 6•17 years ago
|
||
Ok I'm getting closer. This testcase fails by throwing an exception. But if you remove the comment from the alert(b); line then the testcase passes. So I guess it's a timing issue. Which must be why it was passing when I was stepping through with Firebug. But that looks about as far as I can go. I don't know what to make of the timing issue.
Comment 7•17 years ago
|
||
Comment on attachment 319814 [details]
minimzed testcase
Ugh that tescase fails because childNodes[0] is a text node in that case.
Attachment #319814 -
Attachment is obsolete: true
Comment 8•17 years ago
|
||
This should be the one. It also involves innerHTML.
Comment 9•17 years ago
|
||
This testcase works. Which is why the one silverlight.js works.
So the problem is the following lines of code:
a.innerHTML='<object type="application/x-silverlight" data="data:," />';
var b=a.childNodes[0];
alert(b.IsVersionSupported('1.0'));
By the time we reach the call to b.IsVersionSupported('1.0') we have started the load, but not yet received any data. That means that mType is eLoading, which results in nsObjectLoadingContent::EnsureInstantiation returning early and thus no plugin is instantiated. So no 'IsVersionSupported' function will exist, and so things fail.
Things have worked this way since bug 1156 got fixed in Sep-2005.
There are ways we could fix this, however given that we're just a few days from shipping RC1, and that we haven't heard much about this in the past 2.5 years, I think we should try to evangelize instead.
So note that the silverlight plugin does work fine, it's the silverlight detection script (which looks like it was shipped from MS) that breaks in FF3.
I should also note that there is nothing silverlight specific going on here, so it's possible that scripts for other plugins break over this too.
Nominating to get on the radar. I don't really think we should block at this point, but more people should be in on that decision.
Flags: blocking1.9- → blocking1.9?
Comment 12•17 years ago
|
||
(In reply to comment #10)
> So the problem is the following lines of code:
>
> a.innerHTML='<object type="application/x-silverlight" data="data:," />';
> var b=a.childNodes[0];
> alert(b.IsVersionSupported('1.0'));
>
> By the time we reach the call to b.IsVersionSupported('1.0') we have started
> the load, but not yet received any data. That means that mType is eLoading,
> which results in nsObjectLoadingContent::EnsureInstantiation returning early
> and thus no plugin is instantiated. So no 'IsVersionSupported' function will
> exist, and so things fail.
>
> Things have worked this way since bug 1156 got fixed in Sep-2005.
>
> There are ways we could fix this, however given that we're just a few days from
> shipping RC1, and that we haven't heard much about this in the past 2.5 years,
> I think we should try to evangelize instead.
>
> So note that the silverlight plugin does work fine, it's the silverlight
> detection script (which looks like it was shipped from MS) that breaks in FF3.
>
Agreed - I think we should get folks to update the detection script. What change can they make?
Comment 13•17 years ago
|
||
Would we block on getting that script detection changed? I don't think so, and recommend blocking-.
I think they can simply switch to <embed> while testing. Will investigate that and other options tomorrow.
Comment 15•17 years ago
|
||
An alternative approach for detecting whether the Silverlight plugin is installed would be to check if navigator.plugins["Silverlight Plug-In"] is defined, and then they could check if the .description property contains the right version (which is something the silverlight plugin happens to expose through .description).
Comment 16•17 years ago
|
||
Yeah, that's exactly why navigator.plugins exists. I'm not sure why people decided to base detection on undefined behavior instead....
Comment 18•17 years ago
|
||
(In reply to comment #15)
> An alternative approach for detecting whether the Silverlight plugin is
> installed would be to check if navigator.plugins["Silverlight Plug-In"] is
> defined, and then they could check if the .description property contains the
> right version (which is something the silverlight plugin happens to expose
> through .description).
>
They do the first part but not the second part. Here's a snippet:
if(Silverlight.ua.Browser=="MSIE")
b=new ActiveXObject("AgControl.AgControl");
else if(navigator.plugins["Silverlight Plug-In"])
{
a=document.createElement("div");
document.body.appendChild(a);
if(Silverlight.ua.Browser=="Safari")
a.innerHTML='<embed type="application/x-silverlight" />';
else
a.innerHTML='<object type="application/x-silverlight" data="data:," />';
b=a.childNodes[0]
}
document.body.innerHTML;
if(b.IsVersionSupported(d))
c=true;
Comment 19•17 years ago
|
||
This probably should be mentioned in release notes since it's a fairly big site and all and the script might be have moderately widespread use.
Keywords: relnote
Comment 20•16 years ago
|
||
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9) Gecko/2008052906 Firefox/3.0
This seems to be a problem with Silverlight 1.0 and 2.0 beta. The MLB.tv website won't play videos for either. Other websites such as the http://preview.microsoft.com/video/ can't seem to recognize if Silverlight plug-in is installed or not. They keep asking to install it even if its already installed.
Comment 21•16 years ago
|
||
Is there a way to modify the scripts or script routines so that they work?
Comment 22•16 years ago
|
||
I'm a sysadmin at mlb.com (*not* a javascript person) ... if someone can suggest a server-side remedy, I can promote it to the mlb QA or content-creation departments, or put a mozilla developer in touch with them directly.
Comment 23•16 years ago
|
||
Silverlight 2.0 beta 2 is out, though the Mac OS X version is nowhere in sight for me.
Would someone with Windows check?
Comment 24•16 years ago
|
||
Ryan, if you're (or rather whoever is maintaining this part of the site is) willing to change the files shipped with silverlight comment 15 describes the modification you want to make. If you're not, then you need to get Microsoft to change it on their end...
Comment 25•16 years ago
|
||
I got a chance to look at the Silverlight 2 beta 2 SDK and the isinstalled function has been rewritten and uses the plugins array and the plugin description as suggested by jst.
So can this be marked invalid or wontfix then?
Comment 26•16 years ago
|
||
WONTFIX, yeah.
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → WONTFIX
Comment 27•16 years ago
|
||
I still experience this issue.
I have the latest beta of Silverlight 2 installed and although Brian says the function has been rewritten, Firefox 3 rc3 is still not recognizing the Silverlight plug-in when I visit Microsoft's website: http://www.microsoft.com
Comment 28•16 years ago
|
||
Microsoft.com is still using a previous version of silverlight.js. They may not deploy the new version until Silverlight 2 is released.
Updated•16 years ago
|
OS: Windows XP → All
Hardware: PC → All
Comment 29•16 years ago
|
||
Denton - this is probably best understood as a problem with the website's javascript, not with the silverlight plugin itself. So it's not a problem on your end.
FYI for everyone - For those who need the new silverlight.js, you're supposed to either get the file as part of the 2.0 SDK, or use this: http://agappdom.net/i/silverlight.js
(This is according to http://blogs.msdn.com/nigel/archive/2008/06/17/why-is-silverlight-1-broken-with-firefox-3-and-how-do-i-fix-it.aspx )
Comment 30•16 years ago
|
||
Sorry all I lead you wrong.
Silverlight Streaming is still serving up the Silverlight 2 Beta 1 detection script at http://agappdom.net/i/silverlight.js, I expect this will be updated later this week when Silverlight Streaming starts supporting Silverlight 2 Beta 2.
In the mean time I have uploaded just the new Silverlight 2 Beta 2 Silverlight.js detection file to http://cid-f4ba2b022841cc3a.skydrive.live.com/self.aspx/Public/Silverlight.js
Comment 31•16 years ago
|
||
I know next to nothing about scripts and codes and .js files. So I am hoping you guys can help. I am a huge Texas Rangers fan but I live in CA I would like to be able to watch the game fullscreen. This silverlight problem is killing me. Can you help me? Has this been resolved it? I need a simple step by step solution as I am not very computer literate. I have the latest beta of Silverlight 2 installed. Thanks in advance for your help.
Comment 33•16 years ago
|
||
Has anyone had any luck with this? I would really like to be able to use this website properly. I don't understand why this worked fine in Firefox 2.0.0.14 and this won't work in Firefox 3.
Comment 34•16 years ago
|
||
Mozilla changed the way <object> elements are loaded.
Comment 35•16 years ago
|
||
And more precisely, the site depended on a bug in Firefox 2. Then the bug got fixed.
Comment 36•16 years ago
|
||
Has there been any success at fixing this?
Comment 37•16 years ago
|
||
Like has been said above, when the sites using Silverlight 1.0 upgrade to 2.0, you will not have any issues.
Comment 38•16 years ago
|
||
I still can't get Silverlight to work with Firefox 3. Does anyone know how to fix this?
Comment 39•16 years ago
|
||
Silverlight *works* with Firefox 3. The problem may be that the site you are viewing is using Silverlight 1.0. Sites using a later version (2.0 and above) do not have this problem. (See above comments for details.
Microsoft's own site (http://www.microsoft.com) also had an issue with this but now it is fixed. Contact the site administrator of the site you are trying to view and ask about their upgrade plans.
Comment 40•16 years ago
|
||
(In reply to comment #25)
> I got a chance to look at the Silverlight 2 beta 2 SDK and the isinstalled
> function has been rewritten and uses the plugins array and the plugin
> description as suggested by jst.
>
> So can this be marked invalid or wontfix then?
Reading this comment gives me the feeling that it should be better marked as invalid as wontfix. The cause is not on our side. Shaver?
Actually, it should be a tech evangelism bug.
Status: RESOLVED → REOPENED
Resolution: WONTFIX → ---
Assignee: nobody → english-us
Status: REOPENED → NEW
Component: Plug-ins → English US
Flags: blocking1.9-
Product: Core → Tech Evangelism
QA Contact: plugins → english-us
Version: Trunk → unspecified
Comment 42•16 years ago
|
||
(In reply to comment #41)
> Actually, it should be a tech evangelism bug.
>
What does "tech evangelism bug" mean? I'm not familiar with that term.
It means that the action we're taking is trying to contact the site and ask them to fix their pages. I.e. we are not planning on changing our code.
Comment 44•16 years ago
|
||
I heard MLB dropped Silverlight. The URL given uses flash now.
-> WFM
Status: NEW → RESOLVED
Closed: 16 years ago → 16 years ago
Resolution: --- → WORKSFORME
Updated•10 years ago
|
Product: Tech Evangelism → Tech Evangelism Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•