mediaelement.js не работает при вызове после AJAX в IE8 - PullRequest
1 голос
/ 16 декабря 2011

У меня совершенно сумасшедшая ошибка в IE8.На данный момент следующий код работает везде, кроме IE8.

Если я запускаю это в Chrome, с включенными предупреждениями срабатывает «успех».Если я запускаю его в IE, "error" делает.

К сожалению, в IE я не могу отследить какое-либо подробное сообщение об ошибке.

Есть ли кто-нибудь, кто понял это?Я собираюсь помешаться, пытаясь понять это.

<?php
function the_ajax(){
$video_embed =  "<video id='myvideo' width='$videowidth' height='$videoheight' poster='$large' controls='controls' preload='none'>
    <source type='video/mp4' src='$videomp4' />
    <source type='video/webm' src='$videowebm' />
    <source type='video/ogg' src='$videoogg' />
    <object width='$videowidth' height='$videoheight' type='application/x-shockwave-flash' data='$siteroot/js/mediaelement/flashmediaelement.swf'>
    <param name='movie' value='$siteroot/js/mediaelement/flashmediaelement.swf' />
    <param name='flashvars' value='controls=true&file=$videomp4' />
    <img src='$large' width='$videowidth' height='$videoheight' title='No video playback capabilities' />
    </object>
</video>";
echo $video_embed;
}
?>

и javascript:

<script type="text/javascript">
$.ajax({
    url: 'wp-admin/admin-ajax.php?action=get_my_video&name='+thevideo, 
    cache: false,
    type: 'GET',
    success: function(response, textStatus, jqXHR){
    contentArea.html(response);
    $("#myvideo").mediaelementplayer({
        enablePluginDebug: true,
        plugins:["flash","silverlight"],
        type: '',
        pluginPath: "/js/mediaelement/",
        flashName:  "flashmediaelement.swf",
        silverlightName: 'silverlightmediaelement.xap',
        success:function(mediaElement, domObject) { 
                //alert('success');
        },
        error: function () { 
            GLOBAL_ERR = this;
            //alert('unknown error');
        }
    });
});
</script>

Кстати, «пример вывода» в IE8 показывает ИЗОБРАЖЕНИЕ ПОСТЕРА, сложенное поверхбольшой блок пустого пространства.Если вы щелкнете правой кнопкой мыши по пустому пространству, оно скажет «о вспышке» и т. Д. ... так что похоже, что флеш-плеер на самом деле не инициализируется.способ воспроизведения видео - (уууу!), но плакат / флеш все еще сложены.Ключом к воспроизведению видео в IE8 является изменение открывающего тега VIDEO.Добавьте src='$videomp4' к открывающему тегу.

 <video id='myvideo' width='$videowidth' height='$videoheight' poster='$large' controls='controls' preload='none' src='$videomp4'>

EDIT2

Как оказалось, удаление всего с <object до </object> фактически устраняет проблему с макетомв IE8.Похоже, что видео можно воспроизводить в Chrome, F, FF3.6 и IE8

Я больше ничего не проверял и беспокоюсь, что где-то что-то потерял ... но для всего, что я проверял, это кажетсяработать.

1 Ответ

0 голосов
/ 12 января 2012

Как оказалось, удаление всего с <object> до </object> фактически устраняет проблему с макетом в IE8.Похоже, что видео можно воспроизводить в Chrome, FF3.6 и IE8

. Я больше ничего не тестировал и беспокоюсь, что что-то потерял ... но для всего, что я тестировал, похоже,рабочий.

...