Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.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在YouTube iFrame嵌入中循环_Javascript_Html_Arrays_Iframe_Youtube - Fatal编程技术网

试图编写Javascript在YouTube iFrame嵌入中循环

试图编写Javascript在YouTube iFrame嵌入中循环,javascript,html,arrays,iframe,youtube,Javascript,Html,Arrays,Iframe,Youtube,我试图为我的用户编写一个插入式YouTube嵌入播放器,但失败了,因此他们只需更改一行即可更改页面上的任何和所有YouTube播放器。我正在把这个放到我的页面上,但是什么也没发生 <script> // Replace line below with video id(s), e.g. ["dQw4w9WgXcQ"] or ["dQw4w9WgXcQ","b1WWpKEPdT4"] var ids = ["dQw4w9WgXcQ","b

我试图为我的用户编写一个插入式YouTube嵌入播放器,但失败了,因此他们只需更改一行即可更改页面上的任何和所有YouTube播放器。我正在把这个放到我的页面上,但是什么也没发生

        <script>
        // Replace line below with video id(s), e.g. ["dQw4w9WgXcQ"] or ["dQw4w9WgXcQ","b1WWpKEPdT4"]
        var ids = ["dQw4w9WgXcQ","b1WWpKEPdT4"];
        //
        //
        var idsAmount = ids.length;
        for (var i in idsAmount) {
            document.write("<iframe src=\"https://www.youtube.com/embed/" + ids[i] + "?modestbranding=1&amp;rel=0&amp;autoplay=1\" /> <br />");
        };
        </script>

//将下面的行替换为视频id,例如[“dQw4w9WgXcQ”]或[“dQw4w9WgXcQ”、“b1WWpKEPdT4”]
变量id=[“dQw4w9WgXcQ”,“b1WWpKEPdT4”];
//
//
var idsAmount=ids.length;
对于(var i,单位:金额){
文件。写(“
”); };
控制台中没有错误。知道为什么什么都没发生吗

编辑:这是我最后的工作代码:

        <script>
            // Replace line below with video id(s), e.g. ["dQw4w9WgXcQ"] or ["dQw4w9WgXcQ","b1WWpKEPdT4"]
            var ids = ["dQw4w9WgXcQ","b1WWpKEPdT4"];
            //
            if (ids.length == 1) {
                document.write("<iframe width=\"640px\" height=\"360px\" src=\"https://www.youtube.com/embed/" + ids + "?modestbranding=1&rel=0&autoplay=1\" frameborder=\"0\" allowfullscreen></iframe>");
                document.write("<br />");
            }
            else {
                for (var i = 0; i < ids.length; i++) {
                    document.write("<iframe width=\"640px\" height=\"360px\" src=\"https://www.youtube.com/embed/" + ids[i] + "?modestbranding=1&rel=0\" frameborder=\"0\" allowfullscreen></iframe>");
                    document.write("<br /> <br />");
                };
            };
        </script>

//将下面的行替换为视频id,例如[“dQw4w9WgXcQ”]或[“dQw4w9WgXcQ”、“b1WWpKEPdT4”]
变量id=[“dQw4w9WgXcQ”,“b1WWpKEPdT4”];
//
如果(id.length==1){
文件。填写(“”);
文件。写(“
”); } 否则{ 对于(变量i=0;i
”); }; };
首先,您要转义2个不需要转义的引号(用于串联),而且循环是错误的,应该如下所示:

<script>
    // Replace line below with video id(s), e.g. ["dQw4w9WgXcQ"] or ["dQw4w9WgXcQ","b1WWpKEPdT4"]
    var ids = ["dQw4w9WgXcQ","b1WWpKEPdT4"];
    //
    //
    for (var i = 0; i < ids.length; i++) {
        document.write("<iframe src=\"https://www.youtube.com/embed/" + ids[i] + "?modestbranding=1&amp;rel=0&amp;autoplay=1\" /> <br />");
    };
</script>

//将下面的行替换为视频id,例如[“dQw4w9WgXcQ”]或[“dQw4w9WgXcQ”、“b1WWpKEPdT4”]
变量id=[“dQw4w9WgXcQ”,“b1WWpKEPdT4”];
//
//
对于(变量i=0;i”);
};

与其使用
document.write()
for…
循环,我建议只需迭代数组本身,使用
array.prototype.map()
,创建一个HTML节点数组,该数组本身可以被迭代,以将这些节点附加到文档片段中,然后可以将其附加到指定的DOM节点:

//视频ID数组:
变量ID=[“dQw4w9WgXcQ”,“b1WWpKEPdT4”],
//创建元素:
iframeElement=document.createElement('iframe'),
//创建文档片段:
fragment=document.createDocumentFragment(),
//统一化(未定义)变量供以后使用:
克隆
//迭代ID数组,创建新的
//使用array.prototype.map()的数组:
html=ids.map(函数(currentID){
//在匿名函数中,第一个
//参数(此处为:“currentID”)是
//数组的当前数组元素
//我们正在迭代。
//克隆:
var clone=iframelement.cloneNode();
//设置克隆对象的src属性
// :
clone.src=https://www.youtube.com/embed/“+currentID+”?默认值=1&rel=0&autoplay=0';
//请注意,“自动播放”已设置为
//原则上设置为“0”。
//将修改后的克隆返回到阵列
//我们正在创造:
返回克隆;
//迭代从返回的数组
//并将每个
//文档片段的数组元素:
}).forEach(函数(iframe){
片段.appendChild(iframe);
});
//将文档片段附加到body元素:

document.body.appendChild(片段)是否已验证正在生成的iframe src。看起来你是在逃避一个
。这很好。非常感谢!我很感激!没问题。很乐意帮助。嗯。你知道为什么页面上只显示第一个视频id,而不是每个循环的视频id吗?