From: Andrew Poulos on
On 23/04/2010 10:19 AM, David Mark wrote:
> Andrew Poulos wrote:
>> If I dynamically add a quicktime movie to a page using innerHTML the
>> movie appears/plays but the movie's controller bar doesn't in IE.
>>
>> var movie = "<object " +
>> "classid='clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B' " +
>> "codebase='http://www.apple.com/qtactivex/qtplugin.cab' " +
>> "style='position:absolute; left:106px; top:44px; width:390px;
>> height:390px;'>" +
>> "<param name='src' value='sample.mov'>" +
>> "<param name='autoplay' value='false'>" +
>> "<param name='loop' value='false'>" +
>> "<param name='controller' value='true'>" +
>> "<param name='scale' value='ToFit'>" +
>> "<embed " +
>> "src='sample.mov' " +
>> "style='position:absolute; left:0px; top:0px; width:390px;
>> height:390px;' " +
>> "type='video/quicktime' " +
>> "pluginspace='http://www.apple.com/quicktime/download/' " +
>> "autoplay='false' " +
>> "loop='false' " +
>> "controller='true' " +
>> "scale='ToFit'>" +
>> "</object>"
>>
>> document.getElementById("main").innerHTML = "movie";
>
> I'll assume the quotes are a typo.

Yep, you et al are right. I typed it in wrong in this post.

>> The controller bar appears in Firefox, Chrome, Opera...
>>
>> I'm at a loss. Is it a bug in IE, with using innerHTML, the OBJECT
>> element...?
>
> Why don't you remove innerHTML from the equation and see?

If I manually add it to the HTML page (actually type it in) the
controller bar appears.

If I use IE 8's developer tool it shows the param as
<param name="controller" value="true">
though where the controller bar should appear there's sometimes a solid
black rectangle or the area is transparent.

If I change the 'scale' param it makes no difference.

If I explicitly call
document.getElementById([id for object]).SetControllerVisible(true);
the controller appears.

Googling claims there's a bug with the QT controller on 64 bit Vista
(though I have 32 bit Vista).

Andrew Poulos





From: David Mark on
Andrew Poulos wrote:
> On 23/04/2010 10:19 AM, David Mark wrote:
>> Andrew Poulos wrote:
>>> If I dynamically add a quicktime movie to a page using innerHTML the
>>> movie appears/plays but the movie's controller bar doesn't in IE.
>>>
>>> var movie = "<object " +
>>> "classid='clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B' " +
>>> "codebase='http://www.apple.com/qtactivex/qtplugin.cab' " +
>>> "style='position:absolute; left:106px; top:44px; width:390px;
>>> height:390px;'>" +
>>> "<param name='src' value='sample.mov'>" +
>>> "<param name='autoplay' value='false'>" +
>>> "<param name='loop' value='false'>" +
>>> "<param name='controller' value='true'>" +
>>> "<param name='scale' value='ToFit'>" +
>>> "<embed " +
>>> "src='sample.mov' " +
>>> "style='position:absolute; left:0px; top:0px; width:390px;
>>> height:390px;' " +
>>> "type='video/quicktime' " +
>>> "pluginspace='http://www.apple.com/quicktime/download/' " +
>>> "autoplay='false' " +
>>> "loop='false' " +
>>> "controller='true' " +
>>> "scale='ToFit'>" +
>>> "</object>"
>>>
>>> document.getElementById("main").innerHTML = "movie";
>>
>> I'll assume the quotes are a typo.
>
> Yep, you et al are right. I typed it in wrong in this post.
>
>>> The controller bar appears in Firefox, Chrome, Opera...
>>>
>>> I'm at a loss. Is it a bug in IE, with using innerHTML, the OBJECT
>>> element...?
>>
>> Why don't you remove innerHTML from the equation and see?
>
> If I manually add it to the HTML page (actually type it in) the
> controller bar appears.

Okay.

>
> If I use IE 8's developer tool it shows the param as
> <param name="controller" value="true">
> though where the controller bar should appear there's sometimes a solid
> black rectangle or the area is transparent.

When using innerHTML? Does the DOM representation look any different
when you use static markup?

>
> If I change the 'scale' param it makes no difference.

Yes, that's a shot in the dark. :)

>
> If I explicitly call
> document.getElementById([id for object]).SetControllerVisible(true);
> the controller appears.

You best feature detect that method. I'd advise a try-catch too. You
can't trust plug-ins.

>
> Googling claims there's a bug with the QT controller on 64 bit Vista
> (though I have 32 bit Vista).
>

Googling claims lots of things. Next step, create it with standard DOM
methods and see what happens.
From: Andrew Poulos on
On 23/04/2010 12:00 PM, David Mark wrote:
> Andrew Poulos wrote:
>> On 23/04/2010 10:19 AM, David Mark wrote:
>>> Andrew Poulos wrote:
>>>> If I dynamically add a quicktime movie to a page using innerHTML the
>>>> movie appears/plays but the movie's controller bar doesn't in IE.
>>>>
>>>> var movie = "<object " +
>>>> "classid='clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B' " +
>>>> "codebase='http://www.apple.com/qtactivex/qtplugin.cab' " +
>>>> "style='position:absolute; left:106px; top:44px; width:390px;
>>>> height:390px;'>" +
>>>> "<param name='src' value='sample.mov'>" +
>>>> "<param name='autoplay' value='false'>" +
>>>> "<param name='loop' value='false'>" +
>>>> "<param name='controller' value='true'>" +
>>>> "<param name='scale' value='ToFit'>" +
>>>> "<embed " +
>>>> "src='sample.mov' " +
>>>> "style='position:absolute; left:0px; top:0px; width:390px;
>>>> height:390px;' " +
>>>> "type='video/quicktime' " +
>>>> "pluginspace='http://www.apple.com/quicktime/download/' " +
>>>> "autoplay='false' " +
>>>> "loop='false' " +
>>>> "controller='true' " +
>>>> "scale='ToFit'>" +
>>>> "</object>"
>>>>
>>>> document.getElementById("main").innerHTML = "movie";
>>>
>>> I'll assume the quotes are a typo.
>>
>> Yep, you et al are right. I typed it in wrong in this post.
>>
>>>> The controller bar appears in Firefox, Chrome, Opera...
>>>>
>>>> I'm at a loss. Is it a bug in IE, with using innerHTML, the OBJECT
>>>> element...?
>>>
>>> Why don't you remove innerHTML from the equation and see?
>>
>> If I manually add it to the HTML page (actually type it in) the
>> controller bar appears.
>
> Okay.
>
>>
>> If I use IE 8's developer tool it shows the param as
>> <param name="controller" value="true">
>> though where the controller bar should appear there's sometimes a solid
>> black rectangle or the area is transparent.
>
> When using innerHTML? Does the DOM representation look any different
> when you use static markup?

I tried this in IE:

var qt = document.createElement("object");
qt.classid = "clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B";
qt.codebase = "http://www.apple.com/qtactivex/qtplugin.cab";
qt.style.position = "absolute";
qt.style.left = "96px";
qt.style.top = "48px";
qt.style.width = "480px";
qt.style.height = "360px";

var par = document.createElement("param");
par.name = "src";
par.value = "sample.mov";

qt.appendChild(par);
document.body.appendChild(qt);

but all I got was the QT window with a question mark in it???

Andrew Poulos
From: nick on
On Apr 22, 11:52 pm, Andrew Poulos <ap_p...(a)hotmail.com> wrote:
> var qt = document.createElement("object");
> qt.classid        = "clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B";
> qt.codebase       = "http://www.apple.com/qtactivex/qtplugin.cab";

....

> var par = document.createElement("param");
> par.name  = "src";
> par.value = "sample.mov";

Try using setAttribute() instead of attribute property shortcuts.

From: David Mark on
Andrew Poulos wrote:
> On 23/04/2010 12:00 PM, David Mark wrote:
>> Andrew Poulos wrote:
>>> On 23/04/2010 10:19 AM, David Mark wrote:
>>>> Andrew Poulos wrote:
>>>>> If I dynamically add a quicktime movie to a page using innerHTML the
>>>>> movie appears/plays but the movie's controller bar doesn't in IE.
>>>>>
>>>>> var movie = "<object " +
>>>>> "classid='clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B' " +
>>>>> "codebase='http://www.apple.com/qtactivex/qtplugin.cab' " +
>>>>> "style='position:absolute; left:106px; top:44px; width:390px;
>>>>> height:390px;'>" +
>>>>> "<param name='src' value='sample.mov'>" +
>>>>> "<param name='autoplay' value='false'>" +
>>>>> "<param name='loop' value='false'>" +
>>>>> "<param name='controller' value='true'>" +
>>>>> "<param name='scale' value='ToFit'>" +
>>>>> "<embed " +
>>>>> "src='sample.mov' " +
>>>>> "style='position:absolute; left:0px; top:0px; width:390px;
>>>>> height:390px;' " +
>>>>> "type='video/quicktime' " +
>>>>> "pluginspace='http://www.apple.com/quicktime/download/' " +
>>>>> "autoplay='false' " +
>>>>> "loop='false' " +
>>>>> "controller='true' " +
>>>>> "scale='ToFit'>" +
>>>>> "</object>"
>>>>>
>>>>> document.getElementById("main").innerHTML = "movie";
>>>>
>>>> I'll assume the quotes are a typo.
>>>
>>> Yep, you et al are right. I typed it in wrong in this post.
>>>
>>>>> The controller bar appears in Firefox, Chrome, Opera...
>>>>>
>>>>> I'm at a loss. Is it a bug in IE, with using innerHTML, the OBJECT
>>>>> element...?
>>>>
>>>> Why don't you remove innerHTML from the equation and see?
>>>
>>> If I manually add it to the HTML page (actually type it in) the
>>> controller bar appears.
>>
>> Okay.
>>
>>>
>>> If I use IE 8's developer tool it shows the param as
>>> <param name="controller" value="true">
>>> though where the controller bar should appear there's sometimes a solid
>>> black rectangle or the area is transparent.
>>
>> When using innerHTML? Does the DOM representation look any different
>> when you use static markup?
>
> I tried this in IE:
>
> var qt = document.createElement("object");
> qt.classid = "clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B";
> qt.codebase = "http://www.apple.com/qtactivex/qtplugin.cab";

The name of the property is codeBase.

http://msdn.microsoft.com/en-us/library/ms533576(VS.85).aspx