Показать сообщение отдельно
Старый 03.01.2008, 22:15
aQuestion вне форума Посмотреть профиль Найти все сообщения от aQuestion
  № 17  
Ответить с цитированием
aQuestion
Banned
 
Аватар для aQuestion

Регистрация: Dec 2005
Сообщений: 556
Цитата:
Сообщение от Idalgo
В принципе решение я нашел:
http://blog.deconcept.com/swfobject/...e-please-help/
Но оно меня не устраивает по одной простой причине - необходимости каждый раз заново скачивать swf-файл, который таки что-то весит.
вы плохо прочитали топик. в самом низу умный человек сообщил, что проблема упирается в innerHTML и использование document.write её решает. я только что проверил со скриптом инильса (как раз document.write) - таки работает. это не кошерно, но видимо выход.

Edit: немного повозился со скриптом нильса, вобщем результат такой:
Код:
function showFlash(o, cid){
...
var element = document.createElement("embed");
element.setAttribute ("type", "application/x-shockwave-flash");
element.setAttribute ("pluginspage", "http://www.macromedia.com/go/getflashplayer");
element.setAttribute ("src", o.name);
element.setAttribute ("width", o.width);
element.setAttribute ("height", o.height);

document.getElementById(cid).appendChild(element);
//debugger;

}
увы, элемент "эмбед" не есть часть хнтмл, посему такой хак тоже не кошерен. к сожалению, не могу понять, почему не добавляется "обжект".

Edit 2: object tag added successfully with
Код:
var element = document.createElement("object");
element.setAttribute ("classid", "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000");
element.setAttribute ("codebase", "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version='+v+'");
element.setAttribute ("width", o.width);
element.setAttribute ("height", o.height);
document.getElementById(cid).appendChild(element);
element.movie = o.name;
однако єтот код подвержен проблеме с кэшем


Последний раз редактировалось aQuestion; 03.01.2008 в 23:36.