| 
 Flash + ExternalInterface + IE Не совсем JS, но... В общем беда такая. Есть флеш с использованием ExternalInterface.addCallback("getItem", getItem); Есть JS, который подгружает этот флеш. Пробовал добавлять флэш двумя путями - через document.createElement и через innerHTML в определенный див. В обоих случаях флеш загружается и выскакивает проверочный ExternalInterface.call, во всех браузерах. В обоих случаях к ролику можно обратиться по ID или через 
function getMovie(movieName) {
	if (navigator.appName.indexOf("Microsoft") != -1) {
		return window[movieName];
	} else {
		return document[movieName];
	}
}
Однако после такой загрузки в IE и только в IE не получается обратиться к getItem. Если флеш ролик грузится вместе со страницой, а не JS'ом, то все работает. Если загружать флеш через SWFObject 2 - то опять же все работает. Но у них код обфусцирован, а мне бы очень хотелось разобраться, как правильно добавлять в IE флеш с помощью JS, так, чтобы не отваливались ExternalInterface.addCallback. | 
| 
 Покажи, как Flash добавляешь на страницу. | 
| 
 Например так: 
var html_st = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="MyStorageSWF" width="1" height="1" ';
	html_st += 'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">';
    html_st += '<param name="movie" value="MyStorage.swf" />';
    html_st += '<param name="quality" value="high" />';
    html_st += '<param name="allowScriptAccess" value="sameDomain" />';
    html_st += '<embed src="MyStorage.swf" quality="high"';
		html_st += 'width="1" height="1" name="MyStorageSWF" align="middle"';
		html_st += 'play="true" loop="false" quality="high" allowScriptAccess="sameDomain"';
		html_st += 'type="application/x-shockwave-flash"';
		html_st += 'pluginspage="http://www.macromedia.com/go/getflashplayer">';
	html_st += '</embed></object>';
	var div_st = document.createElement('div');
	div_st.style.position = 'absolute';
	div_st.style.left = '-10px';
	div_st.style.top = '-10px';
	div_st.style.overflow = 'hidden';
	div_st.innerHTML = html_st;
	document.body.insertBefore(div_st, document.body.firstChild);
	movie = getMovie('MyStorageSWF');
Хочу заметить, что сам флеш определяется %) | 
| 
 А <embed> зачем? Сомневаюсь, что это решит проблему, но вообще минимальный код для вставки Flash выглядит как-то так: Для Internet Explorer: 
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="" height="">
    <PARAM name="movie" value="url" />
</OBJECT>
Для остальных браузеров: <object type="application/x-shockwave-flash" data="url" width="" height=""></object> | 
| 
 в общем убирание embed не помогло Сократил до 
if (navigator.appName.indexOf("Microsoft") != -1) {
	var html_st = '<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="MyStorageSWF" name="MyStorageSWF" width="1" height="1">';
    html_st += '<PARAM name="movie" value="MyStorage.swf" />';
	html_st += '</OBJECT>';
  } else {
	var html_st = '<object type="application/x-shockwave-flash" id="MyStorageSWF" name="MyStorageSWF" data="MyStorage.swf" width="1" height="1"></object>'
  }
	var div_st = document.createElement('div');
	div_st.style.position = 'absolute';
	div_st.style.left = '-10px';
	div_st.style.top = '-10px';
	div_st.style.overflow = 'hidden';
	div_st.innerHTML = html_st;
	document.body.insertBefore(div_st, document.body.firstChild);
	movie = getMovie('MyStorageSWF');
Проблема с IE осталась | 
| Часовой пояс GMT +3, время: 10:42. |