Quicktime recommends using *both* EMBED and OBJECT tags.
However you are using only OBJECT?
There is no such thing as an embed tag It. has never been part of
official W3C html. It is a relic from the browser war era. QT is
recommending using an ActiveX object, not an ordinary object that does
not depend on ActiveX , as I and many others now use for certain media.
A properly written ActiveX object will validate. Unfortunately many non
IE browsers do not support it, and some turn ActiveX off for security
reasons.
Quicktime is using invalid code for non-IE browsers that often works.
So do several other old time firms. Even they know there is a problem,
as evidenced by the following on the QT site.
__________________________________________________________________________
The Mozilla Foundation, in collaboration with Apple, Adobe, Macromedia,
Opera, and Sun Microsystems, are currently working together to define a
new NPAPI interface to allow greater interactivity between
standards-based browsers and plug-ins. Check the Apple website for
updates concerning QuickTime and NPAPI-compliant browsers.
__________________________________________________________________________
Just to show exactly what I mean, I took one of the QT site codes to
the official W3C validator and validated it. If you want to use such
junk code, be my guest. However I am not going to aid anyone in writing
such trash. As you will see below, the code is full of errors as given
in great detail by the validator. QT is not alone. I think some of the
old-time software companies need to send their programmers back to
school to learn modern code standards and how to adjust their codes to
be standards compliant.
___________________________________________________________________________
This page is not Valid HTML 4.01 Transitional!
Below are the results of attempting to parse this document with an SGML
parser.
1. Error Line 10, column 29: required attribute "TYPE" not specified
..
<script language="JavaScript">
The attribute given above is required for an element that you've
used, but you have omitted it. For instance, in most HTML and XHTML
document types the "type" attribute is required on the "script" element
and the "alt" attribute is required for the "img" element.
Typical values for type are type="text/css" for <style> and
type="text/javascript" for <script>.
✉
2. Error Line 32, column 12: there is no attribute "ALIGN" .
<BODY align=center>
You have used the attribute named above in your document, but the
document type you are using does not support that attribute for this
element. This error is often caused by incorrect use of the "Strict"
document type with a document that uses frames (e.g. you must use the
"Transitional" document type to get the "target" attribute), or by
using vendor proprietary extensions such as "marginheight" (this is
usually fixed by using CSS to achieve the desired effect instead).
This error may also result if the element itself is not supported
in the document type you are using, as an undefined element will have
no supported attributes; in this case, see the element-undefined error
message for further information.
How to fix: check the spelling and case of the element and
attribute, (Remember XHTML is all lower-case) and/or check that they
are both allowed in the chosen document type, and/or use CSS instead of
this attribute. If you received this error when using the <embed>
element to incorporate flash media in a Web page, see the FAQ item on
valid flash.
✉
3. Error Line 38, column 14: there is no attribute "HEIGHT" .
<EMBED HEIGHT=320 WIDTH=240
You have used the attribute named above in your document, but the
document type you are using does not support that attribute for this
element. This error is often caused by incorrect use of the "Strict"
document type with a document that uses frames (e.g. you must use the
"Transitional" document type to get the "target" attribute), or by
using vendor proprietary extensions such as "marginheight" (this is
usually fixed by using CSS to achieve the desired effect instead).
This error may also result if the element itself is not supported
in the document type you are using, as an undefined element will have
no supported attributes; in this case, see the element-undefined error
message for further information.
How to fix: check the spelling and case of the element and
attribute, (Remember XHTML is all lower-case) and/or check that they
are both allowed in the chosen document type, and/or use CSS instead of
this attribute. If you received this error when using the <embed>
element to incorporate flash media in a Web page, see the FAQ item on
valid flash.
✉
4. Error Line 38, column 24: there is no attribute "WIDTH" .
<EMBED HEIGHT=320 WIDTH=240
You have used the attribute named above in your document, but the
document type you are using does not support that attribute for this
element. This error is often caused by incorrect use of the "Strict"
document type with a document that uses frames (e.g. you must use the
"Transitional" document type to get the "target" attribute), or by
using vendor proprietary extensions such as "marginheight" (this is
usually fixed by using CSS to achieve the desired effect instead).
This error may also result if the element itself is not supported
in the document type you are using, as an undefined element will have
no supported attributes; in this case, see the element-undefined error
message for further information.
How to fix: check the spelling and case of the element and
attribute, (Remember XHTML is all lower-case) and/or check that they
are both allowed in the chosen document type, and/or use CSS instead of
this attribute. If you received this error when using the <embed>
element to incorporate flash media in a Web page, see the FAQ item on
valid flash.
✉
5. Error Line 40, column 4: there is no attribute "SRC" .
SRC="Poster.mov" TYPE="video/quicktime"
You have used the attribute named above in your document, but the
document type you are using does not support that attribute for this
element. This error is often caused by incorrect use of the "Strict"
document type with a document that uses frames (e.g. you must use the
"Transitional" document type to get the "target" attribute), or by
using vendor proprietary extensions such as "marginheight" (this is
usually fixed by using CSS to achieve the desired effect instead).
This error may also result if the element itself is not supported
in the document type you are using, as an undefined element will have
no supported attributes; in this case, see the element-undefined error
message for further information.
How to fix: check the spelling and case of the element and
attribute, (Remember XHTML is all lower-case) and/or check that they
are both allowed in the chosen document type, and/or use CSS instead of
this attribute. If you received this error when using the <embed>
element to incorporate flash media in a Web page, see the FAQ item on
valid flash.
✉
6. Error Line 40, column 22: there is no attribute "TYPE" .
SRC="Poster.mov" TYPE="video/quicktime"
You have used the attribute named above in your document, but the
document type you are using does not support that attribute for this
element. This error is often caused by incorrect use of the "Strict"
document type with a document that uses frames (e.g. you must use the
"Transitional" document type to get the "target" attribute), or by
using vendor proprietary extensions such as "marginheight" (this is
usually fixed by using CSS to achieve the desired effect instead).
This error may also result if the element itself is not supported
in the document type you are using, as an undefined element will have
no supported attributes; in this case, see the element-undefined error
message for further information.
How to fix: check the spelling and case of the element and
attribute, (Remember XHTML is all lower-case) and/or check that they
are both allowed in the chosen document type, and/or use CSS instead of
this attribute. If you received this error when using the <embed>
element to incorporate flash media in a Web page, see the FAQ item on
valid flash.
✉
7. Error Line 42, column 11: there is no attribute "CONTROLLER" .
CONTROLLER="false"
You have used the attribute named above in your document, but the
document type you are using does not support that attribute for this
element. This error is often caused by incorrect use of the "Strict"
document type with a document that uses frames (e.g. you must use the
"Transitional" document type to get the "target" attribute), or by
using vendor proprietary extensions such as "marginheight" (this is
usually fixed by using CSS to achieve the desired effect instead).
This error may also result if the element itself is not supported
in the document type you are using, as an undefined element will have
no supported attributes; in this case, see the element-undefined error
message for further information.
How to fix: check the spelling and case of the element and
attribute, (Remember XHTML is all lower-case) and/or check that they
are both allowed in the chosen document type, and/or use CSS instead of
this attribute. If you received this error when using the <embed>
element to incorporate flash media in a Web page, see the FAQ item on
valid flash.
✉
8. Error Line 44, column 5: there is no attribute "HREF" .
HREF="javascript
penQTwin('MyMovie.mov')" />
You have used the attribute named above in your document, but the
document type you are using does not support that attribute for this
element. This error is often caused by incorrect use of the "Strict"
document type with a document that uses frames (e.g. you must use the
"Transitional" document type to get the "target" attribute), or by
using vendor proprietary extensions such as "marginheight" (this is
usually fixed by using CSS to achieve the desired effect instead).
This error may also result if the element itself is not supported
in the document type you are using, as an undefined element will have
no supported attributes; in this case, see the element-undefined error
message for further information.
How to fix: check the spelling and case of the element and
attribute, (Remember XHTML is all lower-case) and/or check that they
are both allowed in the chosen document type, and/or use CSS instead of
this attribute. If you received this error when using the <embed>
element to incorporate flash media in a Web page, see the FAQ item on
valid flash.
✉
9. Error Line 44, column 43: element "EMBED" undefined .
HREF="javascript
penQTwin('MyMovie.mov')" />
You have used the element named above in your document, but the
document type you are using does not define an element of that name.
This error is often caused by:
* incorrect use of the "Strict" document type with a document
that uses frames (e.g. you must use the "Frameset" document type to get
the "<frameset>" element),
* by using vendor proprietary extensions such as "<spacer>"
or "<marquee>" (this is usually fixed by using CSS to achieve the
desired effect instead).
* by using upper-case tags in XHTML (in XHTML attributes and
elements must be all lower-case.
✉
10. Error Line 64, column 52: element "EMBED" undefined .
HREF="javascript: alert('You clicked the poster!')" />
You have used the element named above in your document, but the
document type you are using does not define an element of that name.
This error is often caused by:
* incorrect use of the "Strict" document type with a document
that uses frames (e.g. you must use the "Frameset" document type to get
the "<frameset>" element),
* by using vendor proprietary extensions such as "<spacer>"
or "<marquee>" (this is usually fixed by using CSS to achieve the
desired effect instead).
* by using upper-case tags in XHTML (in XHTML attributes and
elements must be all lower-case.
✉
Source Listing
Below is the source input I used for this validation:
1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"
http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
2. <HTML>
3.
4. <HEAD>
5.
6. <TITLE>Calling JavaScript from QuickTime</TITLE>
7.
8.
9.
10. <script language="JavaScript">
11.
12. <!--
13.
14. function openQTwin(url) {
15.
16. qtwin = window.open(url,"moviewindow",'toolbar=0,location=0,
directories=0,status=0,menubar=0,scrollbars=0,resizable=0,
width=360,height=260');
17.
18. qtwin.focus();
19.
20. }
21.
22. // -->
23.
24. </script>
25.
26.
27.
28. </HEAD>
29.
30.
31.
32. <BODY align=center>
33.
34.
35.
36. <P>Calling a JavaScript function: <BR>
37.
38. <EMBED HEIGHT=320 WIDTH=240
39.
40. SRC="Poster.mov" TYPE="video/quicktime"
41.
42. CONTROLLER="false"
43.
44. HREF="javascript
penQTwin('MyMovie.mov')" />
45.
46.
47.
48. <P>
49.
50. Click the poster above to play a MyMovie in a new window.
51.
52. </P>
53.
54.
55.
56. <P>Passing in-line JavaScript commands: <BR>
57.
58. <EMBED HEIGHT=320 WIDTH=240
59.
60. SRC="Poster2.mov" TYPE="video/quicktime"
61.
62. CONTROLLER="false"
63.
64. HREF="javascript: alert('You clicked the poster!')" />
65.
66.
67.
68. <P>
69.
70. Click the poster above to show an alert box.
71.
72. </P>
73.
74.
75.
76. </BODY>
77.
78. </HTML>
The Mozilla Foundation, in collaboration with Apple, Adobe, Macromedia,
Opera, and Sun Microsystems, are currently working together to define a
new NPAPI interface to allow greater interactivity between
standards-based browsers and plug-ins. Check the Apple website for
updates concerning QuickTime and NPAPI-compliant browsers.
This page is not Valid HTML 4.01 Transitional!
Below are the results of attempting to parse this document with an SGML
parser.
1. Error Line 10, column 29: required attribute "TYPE" not specified
..
<script language="JavaScript">
The attribute given above is required for an element that you've
used, but you have omitted it. For instance, in most HTML and XHTML
document types the "type" attribute is required on the "script" element
and the "alt" attribute is required for the "img" element.
Typical values for type are type="text/css" for <style> and
type="text/javascript" for <script>.
✉
2. Error Line 32, column 12: there is no attribute "ALIGN" .
<BODY align=center>
You have used the attribute named above in your document, but the
document type you are using does not support that attribute for this
element. This error is often caused by incorrect use of the "Strict"
document type with a document that uses frames (e.g. you must use the
"Transitional" document type to get the "target" attribute), or by
using vendor proprietary extensions such as "marginheight" (this is
usually fixed by using CSS to achieve the desired effect instead).
This error may also result if the element itself is not supported
in the document type you are using, as an undefined element will have
no supported attributes; in this case, see the element-undefined error
message for further information.
How to fix: check the spelling and case of the element and
attribute, (Remember XHTML is all lower-case) and/or check that they
are both allowed in the chosen document type, and/or use CSS instead of
this attribute. If you received this error when using the <embed>
element to incorporate flash media in a Web page, see the FAQ item on
valid flash.
✉
3. Error Line 38, column 14: there is no attribute "HEIGHT" .
<EMBED HEIGHT=320 WIDTH=240
You have used the attribute named above in your document, but the
document type you are using does not support that attribute for this
element. This error is often caused by incorrect use of the "Strict"
document type with a document that uses frames (e.g. you must use the
"Transitional" document type to get the "target" attribute), or by
using vendor proprietary extensions such as "marginheight" (this is
usually fixed by using CSS to achieve the desired effect instead).
This error may also result if the element itself is not supported
in the document type you are using, as an undefined element will have
no supported attributes; in this case, see the element-undefined error
message for further information.
How to fix: check the spelling and case of the element and
attribute, (Remember XHTML is all lower-case) and/or check that they
are both allowed in the chosen document type, and/or use CSS instead of
this attribute. If you received this error when using the <embed>
element to incorporate flash media in a Web page, see the FAQ item on
valid flash.
✉
4. Error Line 38, column 24: there is no attribute "WIDTH" .
<EMBED HEIGHT=320 WIDTH=240
You have used the attribute named above in your document, but the
document type you are using does not support that attribute for this
element. This error is often caused by incorrect use of the "Strict"
document type with a document that uses frames (e.g. you must use the
"Transitional" document type to get the "target" attribute), or by
using vendor proprietary extensions such as "marginheight" (this is
usually fixed by using CSS to achieve the desired effect instead).
This error may also result if the element itself is not supported
in the document type you are using, as an undefined element will have
no supported attributes; in this case, see the element-undefined error
message for further information.
How to fix: check the spelling and case of the element and
attribute, (Remember XHTML is all lower-case) and/or check that they
are both allowed in the chosen document type, and/or use CSS instead of
this attribute. If you received this error when using the <embed>
element to incorporate flash media in a Web page, see the FAQ item on
valid flash.
✉
5. Error Line 40, column 4: there is no attribute "SRC" .
SRC="Poster.mov" TYPE="video/quicktime"
You have used the attribute named above in your document, but the
document type you are using does not support that attribute for this
element. This error is often caused by incorrect use of the "Strict"
document type with a document that uses frames (e.g. you must use the
"Transitional" document type to get the "target" attribute), or by
using vendor proprietary extensions such as "marginheight" (this is
usually fixed by using CSS to achieve the desired effect instead).
This error may also result if the element itself is not supported
in the document type you are using, as an undefined element will have
no supported attributes; in this case, see the element-undefined error
message for further information.
How to fix: check the spelling and case of the element and
attribute, (Remember XHTML is all lower-case) and/or check that they
are both allowed in the chosen document type, and/or use CSS instead of
this attribute. If you received this error when using the <embed>
element to incorporate flash media in a Web page, see the FAQ item on
valid flash.
✉
6. Error Line 40, column 22: there is no attribute "TYPE" .
SRC="Poster.mov" TYPE="video/quicktime"
You have used the attribute named above in your document, but the
document type you are using does not support that attribute for this
element. This error is often caused by incorrect use of the "Strict"
document type with a document that uses frames (e.g. you must use the
"Transitional" document type to get the "target" attribute), or by
using vendor proprietary extensions such as "marginheight" (this is
usually fixed by using CSS to achieve the desired effect instead).
This error may also result if the element itself is not supported
in the document type you are using, as an undefined element will have
no supported attributes; in this case, see the element-undefined error
message for further information.
How to fix: check the spelling and case of the element and
attribute, (Remember XHTML is all lower-case) and/or check that they
are both allowed in the chosen document type, and/or use CSS instead of
this attribute. If you received this error when using the <embed>
element to incorporate flash media in a Web page, see the FAQ item on
valid flash.
✉
7. Error Line 42, column 11: there is no attribute "CONTROLLER" .
CONTROLLER="false"
You have used the attribute named above in your document, but the
document type you are using does not support that attribute for this
element. This error is often caused by incorrect use of the "Strict"
document type with a document that uses frames (e.g. you must use the
"Transitional" document type to get the "target" attribute), or by
using vendor proprietary extensions such as "marginheight" (this is
usually fixed by using CSS to achieve the desired effect instead).
This error may also result if the element itself is not supported
in the document type you are using, as an undefined element will have
no supported attributes; in this case, see the element-undefined error
message for further information.
How to fix: check the spelling and case of the element and
attribute, (Remember XHTML is all lower-case) and/or check that they
are both allowed in the chosen document type, and/or use CSS instead of
this attribute. If you received this error when using the <embed>
element to incorporate flash media in a Web page, see the FAQ item on
valid flash.
✉
8. Error Line 44, column 5: there is no attribute "HREF" .
HREF="javascript
penQTwin('MyMovie.mov')" />
You have used the attribute named above in your document, but the
document type you are using does not support that attribute for this
element. This error is often caused by incorrect use of the "Strict"
document type with a document that uses frames (e.g. you must use the
"Transitional" document type to get the "target" attribute), or by
using vendor proprietary extensions such as "marginheight" (this is
usually fixed by using CSS to achieve the desired effect instead).
This error may also result if the element itself is not supported
in the document type you are using, as an undefined element will have
no supported attributes; in this case, see the element-undefined error
message for further information.
How to fix: check the spelling and case of the element and
attribute, (Remember XHTML is all lower-case) and/or check that they
are both allowed in the chosen document type, and/or use CSS instead of
this attribute. If you received this error when using the <embed>
element to incorporate flash media in a Web page, see the FAQ item on
valid flash.
✉
9. Error Line 44, column 43: element "EMBED" undefined .
HREF="javascript
penQTwin('MyMovie.mov')" />
You have used the element named above in your document, but the
document type you are using does not define an element of that name.
This error is often caused by:
* incorrect use of the "Strict" document type with a document
that uses frames (e.g. you must use the "Frameset" document type to get
the "<frameset>" element),
* by using vendor proprietary extensions such as "<spacer>"
or "<marquee>" (this is usually fixed by using CSS to achieve the
desired effect instead).
* by using upper-case tags in XHTML (in XHTML attributes and
elements must be all lower-case.
✉
10. Error Line 64, column 52: element "EMBED" undefined .
HREF="javascript: alert('You clicked the poster!')" />
You have used the element named above in your document, but the
document type you are using does not define an element of that name.
This error is often caused by:
* incorrect use of the "Strict" document type with a document
that uses frames (e.g. you must use the "Frameset" document type to get
the "<frameset>" element),
* by using vendor proprietary extensions such as "<spacer>"
or "<marquee>" (this is usually fixed by using CSS to achieve the
desired effect instead).
* by using upper-case tags in XHTML (in XHTML attributes and
elements must be all lower-case.
✉
Source Listing
Below is the source input I used for this validation:
1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"
http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
2. <HTML>
3.
4. <HEAD>
5.
6. <TITLE>Calling JavaScript from QuickTime</TITLE>
7.
8.
9.
10. <script language="JavaScript">
11.
12. <!--
13.
14. function openQTwin(url) {
15.
16. qtwin = window.open(url,"moviewindow",'toolbar=0,location=0,
directories=0,status=0,menubar=0,scrollbars=0,resizable=0,
width=360,height=260');
17.
18. qtwin.focus();
19.
20. }
21.
22. // -->
23.
24. </script>
25.
26.
27.
28. </HEAD>
29.
30.
31.
32. <BODY align=center>
33.
34.
35.
36. <P>Calling a JavaScript function: <BR>
37.
38. <EMBED HEIGHT=320 WIDTH=240
39.
40. SRC="Poster.mov" TYPE="video/quicktime"
41.
42. CONTROLLER="false"
43.
44. HREF="javascript
penQTwin('MyMovie.mov')" />
45.
46.
47.
48. <P>
49.
50. Click the poster above to play a MyMovie in a new window.
51.
52. </P>
53.
54.
55.
56. <P>Passing in-line JavaScript commands: <BR>
57.
58. <EMBED HEIGHT=320 WIDTH=240
59.
60. SRC="Poster2.mov" TYPE="video/quicktime"
61.
62. CONTROLLER="false"
63.
64. HREF="javascript: alert('You clicked the poster!')" />
65.
66.
67.
68. <P>
69.
70. Click the poster above to show an alert box.
71.
72. </P>
73.
74.
75.
76. </BODY>
77.
78. </HTML>