#javascript #html #flash #externalinterface
#javascript #HTML #flash #externalinterface
Вопрос:
Я хочу вызвать функцию внутри Flash movie из javascript, используя ExternalInterface
класс. Проблема в том, что для того, чтобы заставить его работать с Firefox, мне нужно использовать embed
элемент, а с остальными я должен получить object
элемент. Чтобы решить эту проблему, я присвоил этим двум элементам разные идентификаторы и в зависимости от пользовательского агента выбираю тот или иной:
function getMovie(movieName) {
alert(navigator.userAgent);
if (navigator.userAgent.indexOf("Firefox") != -1) {
return document["flash_embed"];
} else {
return document["flash_object"];
}
}
Это работает, но не очень элегантно и может не работать с другими браузерами… Знаете ли вы лучший способ сделать это?
Ответ №1:
Используйте swfobject для встраивания вашего flash-фильма, а затем используйте его для получения правильного идентификатора.
Комментарии:
1. есть какая-то конкретная причина для этого?
2. Коллега не хочет добавлять полный скрипт только для того, чтобы сделать это.