Две вещи, которые сразу бросились в глаза:
Во-первых:
Вы обернули свою анонимную функцию (содержащую код SWFObject) в jQuery-декларацию доллара. Функция jQuery dollar "принимает строку, содержащую селектор CSS, который затем используется для сопоставления с набором элементов."
Ваша функция ничего не возвращает, поэтому она вызовет ошибку JavaScript, когда jQuery попытается использовать нулевую ссылку в качестве селектора CSS. swfobject.embedSWF
также не возвращает значение, поэтому, вероятно, было бы лучше удалить функцию jQuery dollar из вашего кода.
Если вы просто хотите, чтобы ваш код выполнялся в анонимной функции, удалите $
и добавьте вызов функции в конце:
(function()
{
var flashvars = {};
var parameters = {};
var attributes = {};
flashvars["data-file"] = url;
parameters.wmode = "transparent";
swfobject.embedSWF("test.swf", "graph1", "100%", "100%", "9.0.0", "expressInstall.swf", flashvars, parameters, attributes);
})();
Второе:
Вы передаете имя переменной FlashVars, которая содержит дефис, что недопустимо как в JavaScript, так и в ActionScript.
Наконец, removeObjectInIE
(подфункция swfobject.removeSWF
) была тщательно протестирована в IE 6, 7 и 8. Поскольку IE9 все еще находится в бета-версии, swfobject официально пока не поддерживает его. Тем не менее, мы не ожидаем каких-либо проблем. Я предлагаю попробовать правки, о которых я упоминал выше, и посмотреть, не прояснит ли это вашу проблему.