37 DOMElement _DOMParamElement;
38 DOMElement _DOMObjectElement;
42 - (id)initWithFrame:(CGRect)aFrame
51 _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 _DOMParamElement = document.createElement(
@"param");
59 _DOMParamElement.name =
@"movie";
61 _DOMObjectElement.appendChild(_DOMParamElement);
63 _DOMElement.appendChild(_DOMObjectElement);
66 [
self _rebuildIEObjects];
75 if (_flashMovie == aFlashMovie)
78 _flashMovie = aFlashMovie;
82 _DOMParamElement.value = [aFlashMovie
filename];
83 _DOMObjectElement.data = [aFlashMovie
filename];
86 [
self _rebuildIEObjects];
101 if (key = [enumerator nextObject])
102 varString = [varString stringByAppendingFormat:@"%@=%@", key, [aDictionary
objectForKey:key]];
104 while (key = [enumerator nextObject])
105 varString = [varString stringByAppendingFormat:@"&%@=%@", key, [aDictionary
objectForKey:key]];
110 [_params setObject:varString forKey:@"flashvars"];
116 return [_params objectForKey:@"flashvars"];
124 var elements = [_paramElements allValues],
125 count = [elements count];
127 for (var i = 0; i < count; i++)
128 _DOMObjectElement.removeChild([elements objectAtIndex:i]);
132 _params = aDictionary;
134 [_params addEntriesFromDictionary:aDictionary];
138 _paramElements = @{};
140 var enumerator = [_params keyEnumerator],
143 while (_DOMObjectElement && (key = [enumerator nextObject]) !== nil)
145 var param = document.createElement(
@"param");
147 param.value = [_params objectForKey:key];
149 _DOMObjectElement.appendChild(param);
151 [_paramElements setObject:param forKey:key];
155 [
self _rebuildIEObjects];
165 - (void)_rebuildIEObjects
167 _DOMElement.innerHTML =
@"";
168 if (![_flashMovie filename])
172 paramEnumerator = [_params keyEnumerator],
175 while ((key = [paramEnumerator nextObject]) !== nil)
176 paramString = [paramString stringByAppendingFormat:@"<param name='%@' value='%@' />", key, [_params objectForKey:key]];
178 _DOMObjectElement = document.createElement(
@"object");
179 _DOMElement.appendChild(_DOMObjectElement);
181 _DOMObjectElement.outerHTML = [
CPString stringWithFormat:@"<object id=%@ classid=%@ width=%@ height=%@>%@</object>", [
self elementID], IEFlashCLSID, CGRectGetWidth([
self bounds]), CGRectGetHeight([
self bounds]), paramString];
187 return @"CPFV_" + [
self UID];