37 DOMElement _DOMParamElement;
38 DOMElement _DOMObjectElement;
39 DOMElement _DOMInnerObjectElement;
43 - (id)initWithFrame:(CGRect)aFrame
52 _DOMObjectElement = document.createElement(
@"object");
53 _DOMObjectElement.width =
@"100%";
54 _DOMObjectElement.height =
@"100%";
55 _DOMObjectElement.style.top =
@"0px";
56 _DOMObjectElement.style.left =
@"0px";
57 _DOMObjectElement.type =
@"application/x-shockwave-flash";
58 _DOMObjectElement.setAttribute(
@"classid",
IEFlashCLSID);
60 _DOMParamElement = document.createElement(
@"param");
61 _DOMParamElement.name =
@"movie";
63 _DOMInnerObjectElement = document.createElement(
@"object");
64 _DOMInnerObjectElement.width =
@"100%";
65 _DOMInnerObjectElement.height =
@"100%";
67 _DOMObjectElement.appendChild(_DOMParamElement);
68 _DOMObjectElement.appendChild(_DOMInnerObjectElement);
70 _DOMElement.appendChild(_DOMObjectElement);
73 [
self _rebuildIEObjects];
82 if (_flashMovie == aFlashMovie)
85 _flashMovie = aFlashMovie;
89 _DOMParamElement.value = [aFlashMovie
filename];
90 _DOMInnerObjectElement.data = [aFlashMovie
filename];
93 [
self _rebuildIEObjects];
108 while ((key = [enumerator nextObject]) !== nil)
109 varString = [varString stringByAppendingFormat:@"&%@=%@", key, [aDictionary
objectForKey:key]];
114 [_params setObject:varString forKey:@"flashvars"];
120 return [_params objectForKey:@"flashvars"];
128 var elements = [_paramElements allValues],
129 count = [elements count];
131 for (var i = 0; i < count; i++)
132 _DOMObjectElement.removeChild([elements objectAtIndex:i]);
136 _params = aDictionary;
138 [_params addEntriesFromDictionary:aDictionary];
144 var enumerator = [_params keyEnumerator],
147 while (_DOMObjectElement && (key = [enumerator nextObject]) !== nil)
149 var param = document.createElement(
@"param");
151 param.value = [_params objectForKey:key];
153 _DOMObjectElement.appendChild(param);
155 [_paramElements setObject:param forKey:key];
159 [
self _rebuildIEObjects];
169 - (void)_rebuildIEObjects
171 _DOMElement.innerHTML =
@"";
172 if (![_flashMovie filename])
176 paramEnumerator = [_params keyEnumerator],
179 while ((key = [paramEnumerator nextObject]) !== nil)
180 paramString = [paramString stringByAppendingFormat:@"<param name='%@' value='%@' />", key, [_params objectForKey:key]];
182 _DOMObjectElement = document.createElement(
@"object");
183 _DOMElement.appendChild(_DOMObjectElement);
185 _DOMObjectElement.outerHTML = [
CPString stringWithFormat:@"<object classid=%@ width=%@ height=%@>%@</object>", IEFlashCLSID, CGRectGetWidth([
self bounds]), CGRectGetHeight([
self bounds]), paramString];