使用document.write编写HTML导致错误尝试嵌入YouTube

时间:2014-12-07 01:17:21

标签: javascript html youtube embed document.write

我在受密码保护的网站上使用此功能,因此我无法与您分享网址。我正在尝试使用document.write在JS调用中使用一些HTML,这些HTML旨在根据一天中的时间显示不同的YouTube视频。看来,它只是处理文本而不是其他任何内容。我尝试了许多不同的方法,但似乎都没有。这就是我正在做的事情:

<script type="text/javascript" language="JavaScript">
var myDate = new Date();
/* hour is before noon */
if ( myDate.getHours() >= 12 && myDate.getHours() <= 18 )
{
    document.write('<iframe width=\"100%\" height=\"340px\" src=\"http://youtu.be/MswheXWqlbQ\" frameborder=\"0\" allowfullscreen></iframe>');
}
else  /* the hour is not between 0 and 24, so something is wrong */
{
    document.write('<iframe width=\"100%\" height=\"340px\" src=\"//www.youtube.com/embed/MswheXWqlbQ\" frameborder=\"0\" allowfullscreen></iframe>');
}
</script>

2 个答案:

答案 0 :(得分:1)

使用官方YouTube嵌入网址:

http://youtube.com/embed/VIDEO_ID而非youtu.be导致跨网站请求错误。

答案 1 :(得分:0)

感谢您的建议。我找到了一个innerHTML脚本,我尝试了它,似乎工作正常。

这是我的新剧本:

<script>
function dynamicYT(){

    var d  = new Date();
    var h = d.getHours();

if ((h>=0 && h<=5) || (h>=18 && h<= 23))
{
    document.getElementById("bgText").innerHTML='<iframe width="560" height="315" src="http://youtube.com/embed/MswheXWqlbQ" frameborder="0" allowfullscreen></iframe>';
} else {
    document.getElementById("bgText").innerHTML='<iframe width="420" height="315" src="http://youtube.com/embed/PKrzVIOvvQU" frameborder="0" allowfullscreen></iframe>';
}
}
window.onload = dynamicYT;
</script>