- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图将此代码放入模块函数中:
$(document).ready(function()
{
VIDEO.onYouTubeIframeAPIReady();
}
var VIDEO = (function (my, $){
var tag = document.createElement('script');
var onPlayerStateChange;
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player;
my.onYouTubeIframeAPIReady =function() {
player = new YT.Player('player', {
height: '490',
width: '880',
videoId: SONG.getArtistId(),
playerVars: { controls:1, showinfo: 0, rel: 0, showsearch: 0, iv_load_policy: 3 },
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange,
'onError': catchError
}
});
}
function onPlayerReady(event) {
if(typeof(SONG.getArtistId()) == undefined)
{
console.log("undefineeeed");
}
event.target.playVideo();
}
var done = false;
function onPlayerStateChange(event) {
if (event.data == YT.PlayerState.PLAYING && !done) {
// setTimeout(stopVideo, 6000);
done = true;
}
if(event.data == YT.PlayerState.ENDED)
{
location.reload();
}
}
function catchError(event)
{
if(event.data == 100) console.log("De video bestaat niet meer");
}
function stopVideo() {
player.stopVideo();
}
return my;
}(VIDEO || {}, jQuery));
问题是:即使它是自动执行的,也没有任何反应,并且 iFrame 也没有显示。我正在尝试这样做,因为这是作业的一部分。我们必须以模块的形式工作。
最佳答案
您需要简化代码:
HTML
<div id="player"></div>
Javascript
$(document).ready( function() {
console.log( "ready!" );
loadPlayer();
});
function getArtistId() {
return 'l-gQLqv9f4o';
}
function loadPlayer() {
if (typeof(YT) == 'undefined' || typeof(YT.Player) == 'undefined') {
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
window.onYouTubePlayerAPIReady = function() {
onYouTubePlayer();
};
} else {
onYouTubePlayer();
}
}
var player;
function onYouTubePlayer() {
player = new YT.Player('player', {
height: '490',
width: '880',
videoId: getArtistId(),
playerVars: { controls:1, showinfo: 0, rel: 0, showsearch: 0, iv_load_policy: 3 },
events: {
'onStateChange': onPlayerStateChange,
'onError': catchError
}
});
}
var done = false;
function onPlayerStateChange(event) {
if (event.data == YT.PlayerState.PLAYING && !done) {
// setTimeout(stopVideo, 6000);
done = true;
} else if (event.data == YT.PlayerState.ENDED) {
location.reload();
}
}
function onPlayerReady(event) {
//if(typeof(SONG.getArtistId()) == undefined)
//{
// console.log("undefineeeed");
//}
//event.target.playVideo();
}
function catchError(event)
{
if(event.data == 100) console.log("De video bestaat niet meer");
}
function stopVideo() {
player.stopVideo();
}
还有一个实例: http://jsbin.com/maweqahuhi/1/ http://jsbin.com/nipogicide/2/
编辑
关于您的评论,我对代码做了一些更改。您稍后需要使用 onYouTubePlayerAPIReady()
调用播放器。我编辑了之前的所有代码。
关于javascript - YouTube iFrame API 'YT is undefined',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28149815/
我有个小问题,解决不了。可能只是个小把戏什么的。。我想为不和谐编写一个音乐机器人。它还应该播放播放列表。它可以工作,但YT-DLP总是首先下载整个播放列表。。我想不通,YT-DLP是逐个下载的。。我的
我一直在尝试使用此link从youtube检索一些视频,直到我添加上载日期过滤器后,XML文件的yt:statistics标记中不包含entry,事情才能顺利进行。除此之外,当我添加其他过滤器(例如“
我需要通过JS访问YouTube状态来控制视频幻灯片。由于某种原因,我收到 getPlayerState() is not a function 消息。我可以直接访问 playerState 属性,尽
使用YT iframe API时,我偶然发现了一个问题。 我已经设置了YT iframe,并且在加载后立即加载了iframe API脚本: 我不需要支持较旧的浏览器,因此我选择像
我正在尝试使用yt-player API和Laravel显示YouTube播放器:https://www.npmjs.com/package/yt-player 这是我的Laravel show.bl
我正在使用已使用多年的yt-getuseruploads-script,但是突然它中止而没有错误消息。像这样开始 "; $yt = anmelden_yt($name,$pass); echo "2
我是第一次创建网站,需要一些帮助。我有两个主要问题。第一个是我想要它,这样当有人点击“基本信息”按钮时,它会直接链接到页面的那一部分而不是另一页,因为我的所有信息都将在该页面上。我也想在我的网页上添加
我正在尝试向我在 yt 中的派生字段之一添加一个数字下限。但是,当我尝试时: new_field = 1.0e-10 + data['metal_density'] 我收到以下错误: In [1]:
我无法找出或找出如何使用PHP permission="allowed"从此xml解析simplexml_load_file值。 基本结构是 如何获得最后一行上permission
在同一页面的不同元素上创建了多个 YT.player 对象。 player1 = new YT.Player( 'player-1' , {... player2 = new YT.Player(
我已将 iFrame Youtube 视频嵌入到我的页面中,我希望视频在用户单击“下一步”按钮以循环浏览视频轮播时暂停。在循环到下一个视频之前,我为事件视频创建了一个 YT 对象并尝试运行 pause
我显示 YouTube 视频的链接列表。 document.getElementById('videos').innerHTML += "" + "" +
我正在使用 yt-Project 库来可视化数据和创建图表。现在,我想创建一个包含两个子图的图。 yt 似乎无法直接实现这一点,您必须使用 matplotlib 进行进一步定制(描述 here )。由
我已阅读 youtube API 文档,但我无法找到如何举报 channel 。我发现只有端点负责报告视频 https://developers.google.com/youtube/v3/docs/
我一直在尝试获取有关 meteor 的视频信息。 从我阅读并尝试过的所有内容中,我得出的结论是,最好在服务器上执行此操作,这意味着我必须使用renaldo:youtube-api包。 我的问题是,我该
我一直在摆弄我在这里找到的很多信息,将透明的电视 PNG 覆盖在 youtube 视频上,并成功地让它在桌面上工作。但是,当在移动设备上观看时(这将是主要收视率),我无法让它正确对齐。有没有办法可以根
对此很困扰。在PHP中,我正在获取YouTube用户的视频供稿,并尝试访问节点,如下所示: $url = 'http://gdata.youtube.com/feeds/api/users/HCAFC
也许这是一个不常见的问题,但是我们开始吧。这是代码 $userName=("Google"); $yt = new Zend_Gdata_YouTube(); $query = $yt->newVid
我试图将此代码放入模块函数中: $(document).ready(function() { VIDEO.onYouTubeIframeAPIReady(); }
我一直在尝试找到一些解决此问题的好方法,但无济于事。我有一个我正在使用的个人资料网站,它使用轮播来展示我以前的一些作品。 轮播的其中一项是 YT iFrame。轮播有两个主要功能: 用于导航轮播的下一
我是一名优秀的程序员,十分优秀!