Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 移动iframe youtube正在尝试下载而不显示视频_Javascript_Jquery Mobile_Iframe_Youtube - Fatal编程技术网

Javascript 移动iframe youtube正在尝试下载而不显示视频

Javascript 移动iframe youtube正在尝试下载而不显示视频,javascript,jquery-mobile,iframe,youtube,Javascript,Jquery Mobile,Iframe,Youtube,我有以下代码适用于桌面,但不适用于移动设备。代码显示一个图像,如果单击该图像,它将替换为一个iframe,其中包含分配给它的youtube视频 <img src="/image/background/ph_shop.jpg" alt="Shop Directions" class="video-placeholder img-force shadow-box pointer" data-video="https://www.youtube.com/v/m8qcEilvdMQ&rel

我有以下代码适用于桌面,但不适用于移动设备。代码显示一个图像,如果单击该图像,它将替换为一个iframe,其中包含分配给它的youtube视频

<img src="/image/background/ph_shop.jpg" alt="Shop Directions" class="video-placeholder img-force shadow-box pointer" data-video="https://www.youtube.com/v/m8qcEilvdMQ&rel=0&autoplay=1" />
<script>
     $(".video-placeholder").click(function(){
          var video = \'<iframe frameborder="0" class="width-100 shadow-box" height="400" src="\'+ $(this).attr(\'data-video\') +\'" allowfullscreen></iframe>\';
          $(this).replaceWith(video);
     });
</script>

$(“.video占位符”)。单击(函数(){
var video=\'\';
$(此).替换为(视频);
});

当我尝试在移动设备中单击图像时,它会删除图像,但不会加载任何内容,然后它会尝试下载一个名为“m8qcEilvdMQ&rel=0&autoplay=1”的无法打开的文件。

我遇到了同样的问题,并解决了它

解决方案是更改YouTube视频URL

将url中的
/v/
替换为
/embed/

例如,替换您的URL
https://www.youtube.com/v/m8qcEilvdMQ&rel=0&autoplay=1
https://www.youtube.com/embed/m8qcEilvdMQ&rel=0&autoplay=1


我不知道为什么“
v
”URL开始下载,我想这是因为它返回的标题的内容类型是
application/x-shockwave-flash
,而
嵌入的
URL返回的内容类型是
text/html
,谢谢,你为我节省了很多时间:)