gpt4 book ai didi

javascript - 当 console.logging 组件内的窗口对象时,它给出 'undefined' 。但使用浏览器控制台时可以访问

转载 作者:行者123 更新时间:2023-12-03 00:33:55 27 4
gpt4 key购买 nike

我想使用 youtube API ( https://developers.google.com/youtube/iframe_api_reference ) 从附加视频中获取当前时间。我想在另一个组件中使用该信息,这就是为什么我为窗口对象提供一个属性,以便我可以在任何地方访问该信息。

代码:

  import React from 'react';

class VideoSingle extends React.Component {
constructor(props){
super(props);
this.state = {}
}

componentDidMount() {
// 2. This code loads the IFrame Player API code asynchronously.
var tag = document.createElement('script');

tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

// 3. This function creates an <iframe> (and YouTube player)
// after the API code downloads.

var YT;
window.onYouTubeIframeAPIReady = function() {
YT = window.YT;
window.player = new YT.Player('videoplayer', {
height: '390',
width: '640',
videoId: 'M7lc1UVf-VE',
origin:'http://localhost:3001',
events: {

}

});

}

}

componentDidUpdate() {

console.log(window.player,'logging window.player at componentDidUpdate')
}
render(){

console.log(window.player,'logging window.player at render')


return (
//1. The <iframe> (and video player) will replace this <div> tag.
<div id="videoplayer"></div>

);
}
};



export default VideoSingle;

我尝试使用 console.log 的所有地方都给出“未定义”(在示例中,我在 componentDidMount 中使用 console.logged 并渲染):

enter image description here

但是当我在浏览器控制台中输入 window.player.getCurrentTime() 时,我实际上得到了一个值

enter image description here

我想了解如何在应用程序中的任何位置访问 window.player.getCurrentTime()。

应用程序存储库:https://github.com/phelpa/YouList

最佳答案

YouTube 脚本很可能在您登录后创建播放器...尝试渲染整个 View ,然后控制台日志。在您的代码中...以下几行没有意义。检查 YouTube API 引用

YT = window.YT;

这使得 YT 未定义...您的意思可能是 window.YT = YT ?请仔细检查。祝你好运,并随时通知我们。

关于javascript - 当 console.logging 组件内的窗口对象时,它给出 'undefined' 。但使用浏览器控制台时可以访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53734345/

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