Javascript Youtube未启动的状态更改
这段代码在开发环境中运行良好。在我们的测试服务器上,我们使用AdobeSiteCatalyst进行跟踪,这也绑定了StateChangeJavascript Youtube未启动的状态更改,javascript,youtube-api,youtube-javascript-api,Javascript,Youtube Api,Youtube Javascript Api,这段代码在开发环境中运行良好。在我们的测试服务器上,我们使用AdobeSiteCatalyst进行跟踪,这也绑定了StateChange 有人可以建议如何使多个onStateChange工作,或者我可以将此事件绑定到特定命名空间中,或者任何其他可能的解决方案。您可以将Sitecatalyst绑定到不同的自定义命名事件,然后在onStateChange触发的函数中,可以分派该自定义事件: player = new YT.Player(A, { videoId
有人可以建议如何使多个onStateChange工作,或者我可以将此事件绑定到特定命名空间中,或者任何其他可能的解决方案。您可以将Sitecatalyst绑定到不同的自定义命名事件,然后在onStateChange触发的函数中,可以分派该自定义事件:
player = new YT.Player(A, {
videoId: z.videoId,
height: z.height,
width: z.width,
playerVars: {
autoplay: (z.autoplay ? 1 : 0),
autohide: (z.autoHide ? 1 : 0),
controls: (z.showControls ? 1 : 0),
loop: (z.loop ? 1 : 0),
rel: (z.showRelated ? 1 : 0),
fs: (z.allowFullScreen ? 1 : 0),
theme: z.theme,
wmode: "transparent"
},
events: {
'onReady': function (event) {alert("onReady")},
'onStateChange': function (event) {alert("onChange")}
}
});
感谢您的见解,但问题出在js加载序列上。@Ankur仅供参考,您能解释一下js加载序列的问题吗?我遇到了和你一样的问题are@totalNewbYT js可能需要比预期更多的时间来加载。因此,我所做的是在回调中进行播放器初始化,然后从一个轮询方法调用回调,该方法检查typeof YT!==“undefined”,您可以使用setInterval或clearInterval进行轮询,或者使用您喜欢的任何其他方式。
'onStateChange': function (event) {
alert("onChange");
var event = new CustomEvent('siteCatalystOnStateChange', { 'data': event.data }); // here's the event SiteCatalyst will listen for. It's a custom event so you can pass additional parameters; the listener function is passed the object
elem.dispatchEvent(event); // elem is the element that SiteCatalyst is listening on
}