Вопрос по embed, javascript, jquery, video – Динамически менять встроенный src видео в IE / Chrome (работает в Firefox)

8

Я пытаюсь динамически изменить встроенное видео на странице. Он работает в Firefox, но по какой-то причине он не работает в IE и Chrome (странное сочетание). Вот HTML-код:

   <object id="viewer" width="575" height="344">
        <param name="wmode" value="transparent" />
        <param name="movie" value="http://www.youtube.com/v/Lmn94kn08Lw&hl=en&fs=1&color1=0x006699&color2=0x54abd6&rel=0" />
        <param name="allowFullScreen" value="true" />
        <embed id="embeddedPlayer" src="http://www.youtube.com/v/Lmn94kn08Lw&hl=en&fs=1&color1=0x006699&color2=0x54abd6&rel=0" type="application/x-shockwave-flash" allowfullscreen="true" width="575" height="344" wmode="transparent"></embed>
    </object>

И вот мой код JavaScript. Нажмите ссылку, чтобы изменить видео:

        $("#video a").click(
            function() {
                var videoAddress = $(this).attr("href");
                $("#embeddedPlayer").attr("src", videoAddress);
                return false; // stop the default link so it just reloads in the video player
            }
        );

Как я уже сказал, видео в Firefox отлично меняется, но в IE и Chrome ничего не происходит. Есть идеи?

Это было задано несколько дней назад, и IIRC рекомендовала использоватьSWFPlayer JS библиотека из-за этой точной причины. Pekka 웃

Ваш Ответ

2   ответа
0

<embed> тег используется для обратной совместимости. Попробуйте вместо этого изменить значение параметра.

$("#viewer param[name=movie]").
Пробовал это, но, к сожалению, это не имело значения. macca1
10

Это выглядит немного необычно, но в IE8 / Firefox / Chrome это работает, так что мне это нравится.

$("#video a").click(
            function() {
                var videoAddress = $(this).attr("href");

                $("#media-active").html(" ");
                $("#media-active").html('<object id="viewer" width="575" height="344"><param name="wmode" value="transparent" />' +
        '<param name="movie" value="' + videoAddress + '" /><param name="allowFullScreen" value="true" />' +
        '<embed id="embeddedPlayer" src="' + videoAddress + '" type="application/x-shockwave-flash" allowfullscreen="true" width="575" height="344" wmode="transparent"></embed></object>');

                return false; // stop the default link so it just reloads in the video player
            }
);
отлично, блестяще, спасибо, что поделились felixthehat
Спасибо за публикацию этого, некоторое время пытался выяснить, как это сделать, за исключением того, что я делаю это с аудио-SRC. Я не видел никого, кто говорил бы использовать .html () Precious Roy
@ macca1 Привет. Очень умный код. Я пытаюсь использовать ваш код в моем, я пытаюсь создать видеогалерею на моем сайте. К сожалению, я не могу заставить его работать. Тотmedia-active Вы упоминаете, что этоdiv? Илиobject? Может быть, это поможет мне. Спасибо slevin

Похожие вопросы