Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с доступом к Flash в IE 
V
    Опции темы
Elfet
Дата 3.11.2010, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Всем привет!
Может быть кто-нибудь знает в чём проблема может быть тут:
Код

$.get_movie = function(id) {
        var movie = null;
        if ($.browser.msie) {
            movie =  window[id];
        }
        else {
            movie = document[id];
        }
        return movie;
    };


Затем вызываю функцию movie.play(). 
Во всех браузерах кроме IE(Объект не поддерживает это свойство или метод) работает. 

Как заставить это работать и в IE?
Заранее спасибо!


--------------------
PM MAIL WWW Skype   Вверх
Любитель
Дата 3.11.2010, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 1
Всего: 92



Как флешку вставляешь? Покажи разметку саму.


--------------------
PM MAIL ICQ Skype   Вверх
Elfet
Дата 3.11.2010, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Вот так вот:
Код

                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>';




--------------------
PM MAIL WWW Skype   Вверх
Любитель
Дата 3.11.2010, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 1
Всего: 92



Тогда document.getElementByID(id).play() вроде.


--------------------
PM MAIL ICQ Skype   Вверх
Elfet
Дата 4.11.2010, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Любитель, неа, всё так же не срабатывает :/


--------------------
PM MAIL WWW Skype   Вверх
Любитель
Дата 5.11.2010, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 1
Всего: 92



Сорри, имелось ввиду: document.getElementById(id).Play()
Для совсем древних браузеров (раз уж embed пишешь) можно ещё document.embeds[name].


--------------------
PM MAIL ICQ Skype   Вверх
Elfet
Дата 5.11.2010, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Любитель, неа, пока что-то ни один вариант не подошёл. Возможно в чём-то в другом дело. Может я неправильно встроил флешку?


--------------------
PM MAIL WWW Skype   Вверх
Любитель
Дата 6.11.2010, 00:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 1
Всего: 92



Хм, а можешь дать линк на странчику или выложить? Непосредственно Play/Stop/etc. над дом-элементом object должны работать в любом нормальном браузере.


--------------------
PM MAIL ICQ Skype   Вверх
Elfet
Дата 6.11.2010, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Просто это целый плагин для звука под jQuery:

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  js.zip 7,00 Kb


--------------------
PM MAIL WWW Skype   Вверх
Любитель
Дата 6.11.2010, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 1
Всего: 92



Аа.. так речь про ExternalInterface? Я думал про управление флешкой самой (проигрывание, останов и т. д.).
Там всё гораздо хуже. У меня в своё время после часа экспериментов не удалось заставить в ие работать колбеки для динамически вставляемых (после загрузки DOM модели) флешек (решил задачу по-другому). Хотя, я думаю это решаемо, но вот, что там нужно (быть может и в AS коде) - точно не скажу.


--------------------
PM MAIL ICQ Skype   Вверх
Elfet
Дата 7.11.2010, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Короче разобрался smile 
Пришлось полностью переписать плагин. Теперь всё работает даже в IE(правда выдаёт какие-то ошибки он на непонятное место)

В для callback-ов из swf есть какой-то FABrige.js.

Добавлено через 59 секунд
А да забыл сказать как решил. С использованием swfobject.js


--------------------
PM MAIL WWW Skype   Вверх
Любитель
Дата 7.11.2010, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 1
Всего: 92



Хм. Интересно просто что ему технически не хватает - почему сходу не работает? Сейчас вставляются флехи через DOM тож? Не document.write-ом вначале?


--------------------
PM MAIL ICQ Skype   Вверх
Elfet
Дата 7.11.2010, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Для встраивания флехи я вот этой библиотекой воспользовался: http://blog.deconcept.com/swfobject/ и всё стало работать, как там это работает не разбирался. Вот код:
Код

var isFlashLite = function()
    {
        if (!window.navigator || !window.navigator.mimeTypes) return false;
        var mimeType = window.navigator.mimeTypes["application/x-shockwave-flash"];
        if (!mimeType || !mimeType.enabledPlugin || !mimeType.enabledPlugin.filename) return false;
        return mimeType.enabledPlugin.filename.match(/flashlite/i) ? true : false;
    };

    var container = document.createElement("div");
    container.id = "sound_container_" + window.audio_count;
    // Hides Flash box. We cannot use display: none or visibility: hidden because it prevents
    // Flash from loading at least in IE. So we move it out of the screen at (-100, -100).
    // But this even doesn't work with Flash Lite (e.g. in Droid Incredible). So with Flash
    // Lite, we put it at (0, 0). This shows 1x1 box visible at left-top corner but this is
    // the best we can do as far as we know now.
    container.style.position = "absolute";
    if (isFlashLite()) {
        container.style.left = "0px";
        container.style.top = "0px";
    } else {
        container.style.left = "-100px";
        container.style.top = "-100px";
    }
    var holder = document.createElement("div");
    holder.id = "sound_flash_" + window.audio_count;
    container.appendChild(holder);
    document.body.appendChild(container);
    // See this article for hasPriority:
    // http://help.adobe.com/en_US/as3/mobile/WS4bebcd66a74275c36cfb8137124318eebc6-7ffd.html
    swfobject.embedSWF(
        options.swf, holder.id,
        "1" /* width */, "1" /* height */, "9.0.0" /* SWF version */,  null, {},
        {
            quality: "high",
            allowScriptAccess: "always"
        }
        );    



--------------------
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0585 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.