Javascript 将flash youtube更改为嵌入对象
我正在为我的youtube预告片使用延迟加载,但是,我注意到它在移动设备上不工作,我想这是因为它的flash不是对象 这个功能是否可以改变为将其作为对象嵌入Javascript 将flash youtube更改为嵌入对象,javascript,jquery,flash,youtube,Javascript,Jquery,Flash,Youtube,我正在为我的youtube预告片使用延迟加载,但是,我注意到它在移动设备上不工作,我想这是因为它的flash不是对象 这个功能是否可以改变为将其作为对象嵌入 $('a.youtube-video').click(function(e) { e.preventDefault(); var videoId = $(this).attr('data-video'); var params = { allowScriptAccess: "always", allowFullS
$('a.youtube-video').click(function(e) {
e.preventDefault();
var videoId = $(this).attr('data-video');
var params = { allowScriptAccess: "always", allowFullScreen: "true" };
var atts = { id: 'player_'+videoId };
$(this).hide();
swfobject.embedSWF(
"http://www.youtube.com/v/"+videoId+"?enablejsapi=1&playerapiid=ytplayer&version=3",
'placeholder_'+videoId, "100%", "315", "8", null, null, params, atts);
});
任何帮助都会很好
这是完整的代码:
<script>$(document).ready(function() {
$('a.youtube-video').each(function() {
var videoId = $(this).attr('data-video');
var videoThumbnail = "http://img.youtube.com/vi/" + videoId + "/0.jpg";
var videoBackground = $('<span class="youtube-thumbnail"></span>');
videoBackground.css({
background:"#fff url('"+videoThumbnail+"') no-repeat",
backgroundSize: 'cover'
});
// also set the parent container size to prevent flicker
$(this).add($(this).parent()).css({
height:315,
width:"100%",
position:"relative",
display:"block",
textAlign:"center",
color:"#fff",
fontSize:26
});
$(this).text('Click to load video');
$(this).append(videoBackground);
});
$('a.youtube-video').click(function(e) {
e.preventDefault();
var videoId = $(this).attr('data-video');
var params = { allowScriptAccess: "always", allowFullScreen: "true" };
var atts = { id: 'player_'+videoId };
$(this).hide();
swfobject.embedSWF(
"http://www.youtube.com/v/"+videoId+"?enablejsapi=1&playerapiid=ytplayer&version=3",
'placeholder_'+videoId, "100%", "315", "8", null, null, params, atts);
});
$(文档).ready(函数(){
$('a.youtube-video')。每个(函数(){
var videoId=$(this.attr('data-video');
var video缩略图=”http://img.youtube.com/vi/“+videoId+”/0.jpg”;
var videoBackground=$('');
videoBackground.css({
背景:“#fff url(“+videoThumbnail+”)不重复”,
背景尺寸:“封面”
});
//还要设置父容器大小以防止闪烁
$(this.add($(this.parent()).css({
身高:315,
宽度:“100%”,
职位:“相对”,
显示:“块”,
textAlign:“居中”,
颜色:“fff”,
尺码:26
});
$(此).text('单击以加载视频');
$(此).append(视频背景);
});
$('a.youtube-video')。单击(函数(e){
e、 预防默认值();
var videoId=$(this.attr('data-video');
var params={allowScriptAccess:“始终”,allowFullScreen:“真”};
var atts={id:'player_'+videoId};
$(this.hide();
swfobject.embeddeswf(
"http://www.youtube.com/v/“+videoId+”?enablejsapi=1&playerAPI=ytplayer&version=3”,
“占位符”+videoId,“100%”、“315”、“8”、null、null、params、atts);
});
})) $('a.youtube-video')。单击(函数(e){
e、 预防默认值();
var videoId=$(this.attr('data-video');
$(“#播放器"+videoId).html(“”);
});
$('a.youtube-video')。单击(函数(e){
e、 预防默认值();
var videoId=$(this.attr('data-video');
$(“#播放器"+videoId).html(“”);
});
hmm这看起来应该行得通,但它没有任何作用?我需要在我想要视频的地方制作一个iframe吗?不,只需添加一个带有相应id的空div或动态创建它。不确定为什么这样做不起作用。。。这是div的代码";啊,刚刚发现了一个问题,这个div被称为占位符,看起来应该可以工作,但它什么都不做?我需要在我想要视频的地方制作一个iframe吗?不,只需添加一个带有相应id的空div或动态创建它。不确定为什么这样做不起作用。。。这是div的代码“啊,刚刚发现了一个问题,这个div被称为占位符_
$('a.youtube-video').click(function(e) {
e.preventDefault();
var videoId = $(this).attr('data-video');
$("#player_" + videoId).html('<iframe width="100%" height="315" src="https://www.youtube.com/embed/' + videoId + '" frameborder="0" allowfullscreen></iframe>');
});