Closed Bug 254483 Opened 21 years ago Closed 21 years ago

'Object' tag fails with Windows registery classid value

Categories

(Core Graveyard :: Plug-ins, defect)

x86
Windows XP
defect
Not set
normal

Tracking

(Not tracked)

VERIFIED INVALID

People

(Reporter: andrejohn.mas, Unassigned)

References

()

Details

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040707 Firefox/0.8 Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040707 Firefox/0.8 I recently tried fixing someone else's web page because the quicktime player controls showed up in Internet Explorer, but not in Firefox. The site was using the 'embed' tag and I tried making it support W3C HTML. Follows is what I found out and had orginally posted to the Mozilla general mailing list: 'embed' is certainly supported by both IE and Firefox, and was introduced around the time of Netscape 2 (according to a search on the net). Now it appears that presence of a single attribute seems to be causing the problem, that of 'hidden'. This does not work: <embed src="http://www.oyez.ca/Cabaret/spectacles/01Track.mp3" hidden="false" height="22" width="110" bgcolor="#666666"></embed> while this does: <embed src="http://www.oyez.ca/Cabaret/spectacles/01Track.mp3" height="22" width="110" bgcolor="#666666"></embed> Further, it would seem that 'object' is the official W3C equivalent. See: http://www.w3.org/TR/REC-html40/struct/objects.html#h-13.3.4 But trying to get to work consistently in IE and Firefox without the embed is a bit of a nightmare. The following will work in Firefox, but not IE: <OBJECT WIDTH="110" HEIGHT="22" type="audio/mp3" data="http://www.oyez.ca/Cabaret/spectacles/01Track.mp3"> </OBJECT> The following also works in Firefox and almost in IE (broken media image): <OBJECT WIDTH="110" HEIGHT="22" type="audio/mp3" data="http://www.oyez.ca/Cabaret/spectacles/01Track.mp3"> <PARAM NAME="type" VALUE="audio/mp3"> <PARAM NAME="src" VALUE="http://www.oyez.ca/Cabaret/spectacles/01Track.mp3"> </OBJECT> Now if I add the 'classid' attribute it works in IE but breaks in Firefox: <OBJECT CLASSID="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" WIDTH="110" HEIGHT="22" type="audio/mp3" data="http://www.oyez.ca/Cabaret/spectacles/01Track.mp3"> <PARAM NAME="type" VALUE="audio/mp3"> <PARAM NAME="src" VALUE="http://www.oyez.ca/Cabaret/spectacles/01Track.mp3"> </OBJECT> This doesn't work in either: <OBJECT CLASSID="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" WIDTH="110" HEIGHT="22" type="audio/mp3" data="http://www.oyez.ca/Cabaret/spectacles/01Track.mp3"> </OBJECT> This also makes it work in both, but only because of legacy support (it is the embed which it allows it to work): <OBJECT CLASSID="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" WIDTH="110" HEIGHT="22" type="audio/mp3" data="http://www.oyez.ca/Cabaret/spectacles/01Track.mp3"> <PARAM NAME="type" VALUE="audio/mp3"> <PARAM NAME="src" VALUE="http://www.oyez.ca/Cabaret/spectacles/01Track.mp3"> <EMBED WIDTH="110" HEIGHT="22" CONTROLLER="TRUE" TARGET="myself" SRC="http://www.oyez.ca/Cabaret/spectacles/01Track.mp3"/> </OBJECT> I should note that Opera 7.5 only seems to handle the 'embed' element. Had I simply used the 'embed' tag I wouldn't have had any issues. Should Mozilla Firefox be handling the 'classid' content that it does not recognise differently than what it is doing now? Reproducible: Always Steps to Reproduce: 1. 2. 3.
> But trying to get to work consistently in IE and Firefox without the embed is a > bit of a nightmare. That's true, in large part thanks to IE's not handling the type attribute well. The problem with classid is that it requests a particular _implementation_. If you can't use the object with that exact classid to render the content, you should show the alternate content for the <embed>. Now classids starting with "clsid" refer to ActiveX components. Mozilla doesn't support those, and no browser supports them on operating systems other than Windows. So Mozilla has to show the alternate content for that object tag. So to work around IE not using the type attribute, you can use the classid version of <object> and nest the type version inside it (like your working example, but with <object> instead of the embed).
Status: UNCONFIRMED → RESOLVED
Closed: 21 years ago
Resolution: --- → INVALID
*** Bug 287222 has been marked as a duplicate of this bug. ***
Component: Layout → Plug-ins
Status: RESOLVED → VERIFIED
*** Bug 297631 has been marked as a duplicate of this bug. ***
*** Bug 298211 has been marked as a duplicate of this bug. ***
*** Bug 316540 has been marked as a duplicate of this bug. ***
Would it help if Mozilla simply gave priority to the "type" attribute and ignored the classid field?
That would: 1) Violate the HTML spec 2) Break quite badly in some cases (think crashes, etc).
*** Bug 319190 has been marked as a duplicate of this bug. ***
*** Bug 321122 has been marked as a duplicate of this bug. ***
*** Bug 322594 has been marked as a duplicate of this bug. ***
(In reply to comment #6) > Would it help if Mozilla simply gave priority to the "type" attribute and > ignored the classid field? > Opera handles this situation nicely imo. Mozilla's behavior is very annoyting (even if its IE's fault the we have this problem.) It appears Opera ignores the classid attribute if the value contains clsid: The browser can't ignore the classid altogether though because of classid="java:file.class" for loading applets.
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.