gpt4 book ai didi

javascript - 更新 JavaScript 中的全局变量

转载 作者:行者123 更新时间:2023-12-03 05:24:45 26 4
gpt4 key购买 nike

目前我正在使用 youtube api iframe,并且我正在尝试在视频结束时执行某些操作,但是,我需要 javascript 中的全局变量才能继续。我的代码是这样的:

var k =0

function onYouTubeIframeAPIReady()
{
for(j=0;j<tam2;j++)
{
var nombre="player"+j;
player = new YT.Player(nombre,
{
height:'300',
width:'580',
videoId:arrayJS[j],
events: {'onStateChange': onPlayerStateChange}
});
k++;
}
}

所以我需要识别 onPlayerStateChange 函数中的每个玩家,即获取数组 arrayJS 和 arrayT 的索引,以获取生成完成事件的特定视频的 id 和标题,我尝试执行以下操作,但是当我运行 console.log 时,它说该变量未定义:

function onPlayerStateChange(event) 
{
if (event.data == YT.PlayerState.ENDED)
{
console.log(k);
$.ajax
({
async:true,
type: "POST",
url:'v.php',
data:
{
idvideo:arrayJS[k],
titlevideo:arrayT[k]
},
success:function envio(deVuelta)
{
alert(deVuelta);
},
timeout:30000,
error:function()
{
alert("Ocurrio un error");
}
});
}
}

最佳答案

你尝试过吗bind

function onYouTubeIframeAPIReady() 
{
for(j=0;j<tam2;j++)
{
var nombre="player"+j;
player = new YT.Player(nombre,
{
height:'300',
width:'580',
videoId:arrayJS[j],
events: {'onStateChange': onPlayerStateChange.bind(null, arrayJS, j)}
});
k++;
}
}

function onPlayerStateChange(ary, idx, event)
{
if (event.data == YT.PlayerState.ENDED)
{
console.log(k);
$.ajax
({
async:true,
type: "POST",
url:'v.php',
data:
{
idvideo:arrayJS[k],
titlevideo:arrayT[k]
},
success:function envio(deVuelta)
{
alert(deVuelta);
},
timeout:30000,
error:function()
{
alert("Ocurrio un error");
}
});
}
}

关于javascript - 更新 JavaScript 中的全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41200546/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com