Вы в основном воссоздаете метод swfobject.embedSWF
, поэтому я предлагаю переформатировать ваш код, чтобы использовать swfobject.embedSWF
, поскольку он широко поддерживается и тщательно протестирован.Единственные различия, которые я вижу между вашим кодом и embedSWF
:
- отсутствие определения версии в вашем коде (embedSWF требует, чтобы вы указали минимальную версию Flash Player
- отсутствиеexpressinstall в вашем коде (это может быть установлено в false в embedSWF, если вы не заинтересованы
- ваша переменная flashvars, вероятно, отформатирована как строка, тогда как embedSWF ожидает объект, содержащий пары ключ / значение
swfobject.embedSWF
вызывается при загрузке по умолчанию, поэтому вам не нужно писать обработчик ondomload
Вот быстрое переформатирование вашего кода. Он потерпит неудачу, если ваши flashvars отправляются в виде строки:
window.embedFlash=function (properties)
{
var flashvars = properties.flashvars||false;
var params = {
allowFullScreen: 'true',
allowNetworking: properties.allowNetworking||'all',
allowScriptAccess: 'always',
menu: properties.menu||'false',
wmode: properties.wmode||"window"
};
var attributes = {};
swfobject.embedSWF(properties.data,
properties.id,
properties.width||'100%',
properties.height||'100%',
"9",
false,//URL for expressinstall, if available
flashvars,
params,
attributes);
};