JQuery Звуки IE7 / IE8 Проблема с Flash ExternalInterface
Я хотел бы добавить звуковые оповещения в веб-приложение. Я считаю, что Flash - лучший способ сделать это для поддержки всех основных браузеров, т.е. IE, Firefox, Chrome, Safari. Похоже, что Chrome не работает со звуковыми решениями без вспышки.
Я использую jQuery и хотел бы использовать плагин jQuery Sound. Пример показан в демонстрационной версии jQuery Sound Plug-in, однако я не могу заставить это работать в IE7 и IE8 Beta.
Я получаю проблему с JavaScript в разделе кода ниже.
load: function(evt, url) {
var self = $(this);
var id = self.data("sound.settings").id;
var movie = self.data("sound.get_movie")(id);
movie.load(url);
self.data("sound.isPlaying", true);
},
Плагин также использует следующую функцию, чтобы получить Flash-ролик, который отлично подходит для браузеров IE.
var get_movie = function(id) {
var movie = null;
if ($.browser.msie) {
movie = window[id];
} else {
movie = document[id];
}
return movie;
};
Есть ли что-то, чего мне здесь не хватает, чтобы это работало в IE7 и IE8 Beta? Любая помощь будет принята с благодарностью.
1 ответ
Проблема исправлена при изменении следующего кода:
if ($.browser.msie) {
var html = '<object id="' + settings.id + '" data="' + settings.swf + '" type="application/x-shockwave-flash" width="0" height="0">';
html += ' <param name="movie" value="' + settings.swf + '"/>';
html += ' <param name="AllowScriptAccess" value="always"/>';
html += ' <param name="quality" value="high"/>';
html += ' <param name="wmode" value="transparent"/>';
html += ' <!-- -->';
html += ' </object>';
} else {
var html = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"';
html += ' codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" width="0" height="0"';
html += ' id="' + settings.id + '"';
html += ' align="middle">';
html += '<param name="movie" value="' + settings.swf + '" />';
html += '<param name="quality" value="' + settings.quality + '" />';
html += '<param name="FlashVars" value="id=' + settings.id + '"/>';
html += '<param name="allowScriptAccess" value="always"/>';
html += '<embed src="' + settings.swf + '" FlashVars="id='+ settings.id +'"';
html += ' allowScriptAccess="always" quality="' + settings.quality + '" bgcolor="#ffffff" width="0" height="0"';
html += ' name="' + settings.id + '" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />';
html += '</object>';
}
...
var get_movie = function(id) {
var movie = null;
if ($.browser.msie) {
//movie = window[id];
movie = document.getElementById(id);
} else {
movie = document[id];
}
return movie;
};
Источник ссылки: SoundManager 2