Я пытаюсь динамично изменить встроенное видео на странице. Это работает в 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 ничего не происходит. Какие-либо идеи?
Наконец выяснилось, что работает в IE, Firefox и Chrome.
Это кажется немного необычным, но он работает в 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
}
);
Тег
используется для обратной совместимости. Вместо этого попробуйте изменить значение параметра.
$("#viewer param[name=movie]").attr("value", videoAddress);