首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用iframe嵌入应用程序接口在同一页面上使用多个YouTube播放器

使用iframe嵌入应用程序接口在同一页面上使用多个YouTube播放器
EN

Stack Overflow用户
提问于 2017-04-21 11:25:14
回答 1查看 391关注 0票数 0

多个按钮将能够附加到同一个页面,而这些页面又有自己的youtube ID。该按钮可以被点击,这将打开一个模式(弹出)内的youtube视频。我有一个单独的实例,如何让javascript代码处理多个按钮呢?

HTML (php)如下所示:

代码语言:javascript
运行
AI代码解释
复制
<button id="play-icon-<?php echo $bID; ?>" class="button" target="_blank">Watch our show reel</button>

<div class="remodal video-modal" data-remodal-id="video-modal-<?php echo $bID; ?>">
  <button data-remodal-action="close" class="modal-close"><span class="icon-close"></span></button>
  <div class="video-wrapper">
    <div id="player-container" class="screen"></div>
  </div>
  <span class="loader"></span>
</div>

然后我有了触发模态和控制视频的javascript代码:

代码语言:javascript
运行
AI代码解释
复制
$(function() {
  openModal('<?php echo $youtube_ID; ?>');
});


function openModal(video_id) {
  var playButton = $('#play-icon-<?php echo $bID; ?>');
  var modal = $('[data-remodal-id=video-modal-<?php echo $bID; ?>]');
  var settings = {
    hashTracking: false
  }
  var inst = modal.remodal(settings);
  var device = $.browser.device = (/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(navigator.userAgent.toLowerCase()));

  playButton.on('click', function(e) {

    if (device) {

      var yturl = '//www.youtube.com/embed/' + video_id + '?rel=0&showinfo=0&modestbranding=1&autoplay=1&controls=0';
      $('body').append('<span id="close-video-modal" class="icon-close"></span><iframe id="large-modal-banner-video" src="' + yturl + '"></iframe>');

    } else {

      inst.open();
      play_video(video_id);

    }

  });
}

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

var modelPlayer;
var modelPlayerDefaults = {
  autoplay: 0,
  autohide: 1,
  modestbranding: 0,
  rel: 0,
  showinfo: 0,
  controls: 0,
  disablekb: 1,
  enablejsapi: 0,
  iv_load_policy: 3
};

function play_video(id) {
  modelPlayer = new YT.Player('player-container', {
    videoId: id.toString(),
    events: {
      'onReady': onModalPlayerReady,
      'onStateChange': onModelPlayerStateChange
    },
    playerVars: modelPlayerDefaults
  });
}

function onModelPlayerStateChange(e) {
  if (e.data === 1) {
    $('.loader').fadeOut();
    $('#player-container').addClass('active');
  } else if (e.data === 0) {
    var currentModal = $('#player-container.active').closest('.video-modal');
    var inst = currentModal.remodal();
    inst.close();
    $('#player-container').removeClass('active');
  } else {
    $('#player-container').removeClass('active');
    $('.loader').show();
  }
}

function onModalPlayerReady(e) {
  modelPlayer.playVideo();
}

$(document).on('closed', '.video-modal', function() {
  modelPlayer.destroy();
});

$(document).on('click tap', '#close-video-modal', function(e) {
  e.preventDefault();

  $('#close-video-modal, #large-modal-banner-video').fadeOut(function() {
    $(this).remove();
  });

});

所需要的是将这些代码包含到一个可重用的函数中,任何帮助都会很好。

EN

回答 1

Stack Overflow用户

发布于 2017-04-21 18:24:41

这听起来很让人困惑。你要打开并控制多个弹出窗口吗?他们会集中精力的!

如果您只是希望从按钮/链接将视频加载到弹出窗口中,这是可能的。

我把它放在我做的"youtube游乐场“里。

其中之一是THIS one。选择User uploads并放入用户播放列表中查看。

我打开一个由iframe填充的弹出窗口。

这反过来会向它发送基本信息,以便它知道要加载什么。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43541516

复制
相关文章
confluence更改admin密码
在做confluence数据迁移之后,出现了使用admin账户无法登录,日志报错信息如下:
dogfei
2020/07/31
5.4K0
Mysql 5.7更改密码
如果MySQL数据库用户的密码设置过于简单,数据库在用户登录后会提示重置密码,并且不接受简单的密码。
用户5760343
2022/05/23
3.8K0
更改 MySql root 密码
回车后输入以下命令来禁止mysql验证功能 ./mysqld_safe --skip-grant-tables &
onety码生
2018/11/21
12.9K1
13.1 设置更改root密码
设置更改root密码目录概要 /usr/local/mysql/bin/mysql -uroot 更改环境变量PATH,增加mysql绝对路径 mysqladmin -uroot password '123456' mysql -uroot -p123456 密码重置 vi /etc/my.cnf//增加skip-grant 重启mysql服务 /etc/init.d/mysqld restart mysql -uroot use mysql; update user set password=passwo
运维小白
2018/02/06
3K0
使用 CHNTPW 更改 Windows 密码
用U盘安装kali,并启动启动。将 Sam 文件复制到kali 桌面,或者用U盘启动工具复制Sam文件到U盘,然后在复制到kali中。
逍遥子大表哥
2022/03/25
3.3K0
使用 CHNTPW 更改 Windows 密码
oracle用户更改密码_修改system用户密码
前几天通过plsql登录数据库时,提示密码过期,需要修改密码,那就修改呗。改完过了会,再登录,发现用户被锁了。那就去解锁下吧。
全栈程序员站长
2022/09/19
2.9K0
oracle用户更改密码_修改system用户密码
mysql(mariadb)如何更改root密码
mysql(或者mariadb,她是mysql的一个分支,完全开源,新版本的linux系统默认安装的是mariadb)如何更改root密码呢?我们主要介绍命令mysqladmin来实现。
周小董
2019/03/25
6.6K0
mysql(mariadb)如何更改root密码
如何更改服务器密码 更改服务器密码需要注意什么
在日常生活中,都会用到服务器,很多人在购买了服务器之后,都不知道该如何更改服务器密码,如果服务器不设置密码的话,很容易被黑客袭击,导致信息的泄漏和丢失。接下来就给大家讲解一下购买服务器之后如何将原始密码更改成自己的密码。
用户8715145
2021/09/17
12.7K1
如何更改服务器密码 更改服务器密码需要注意什么
mysql的root密码更改_navicat忘记root密码
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/170152.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/21
6.2K0
linux oracle修改密码_linux 更改用户密码
大家好,又见面了,我是你们的朋友全栈君。 Linux环境中修改Oracle用户密码
全栈程序员站长
2022/09/19
12.1K0
oracle更改用户的密码
1、以system或者sys的身份登录。登录语句sqlplus system/psw@ora_name或者sqlplus sys/psw@ora_name as sysdba。
全栈程序员站长
2022/09/19
2.5K0
kali更改开机加密密码
KALI的磁盘加密是用LUKS(Linux Unified Key Setup)加密的,这个软件不是kali/debian/ubuntu上特有的,各版本的linux都支持,使用AES加密,格式和truecrypt是兼容的,可以在加密后的磁盘上创建任意文件系统,但是加密后的磁盘不能直接挂载,必须要将分区映射到/dev/mapper下,所以为了方便管理磁盘,操作系统安装时都采用了 LVM on LUKS的方式,也就是全盘加密并在上面创建lvm分区。
逍遥子大表哥
2021/12/17
1.6K0
kali更改开机加密密码
一行代码更改密码
修改密码的时候,大家是不是都有输入两次密码的经历,这种交互适合终端操作,而不是用于脚本操作,对于老高这种一言不合就写Dockerfile的猿,真是很不友好。
老高的技术博客
2022/12/28
5850
dubbo-admin密码更改 原
配置文件: dubbo.properties dubbo.registry.address=zookeeper://127.0.0.1:2181 dubbo.admin.root.password=admin dubbo.admin.guest.password=guest 登陆:输入用户名:admin,密码:admin,结果打死都登陆不上。 这个时候,请仔细看配置文件,文件配置的意思是: 用户名:root,密码:admin root.password=admin 用户名:guest,密码:guest
用户2603479
2018/08/15
1.4K0
TortoiseGit 账号密码更改失效
TortoiseGit 是一款 window 下可视化 git 管理工具,可以不使用命令行操作 git。
程序员王天
2023/10/18
3470
TortoiseGit 账号密码更改失效
更改SSH远程登录密码及数据库密码
然后你去这个目录下看,没有这个目录/var/lib/mysql/mysql.sock
JaneYork
2023/10/11
6130
更改SSH远程登录密码及数据库密码
mysql密码更改_mysql初始密码在哪个文件
若使用mysqld –initialize初始化mysql数据库,会产生一个默认的随机密码。 密码位置: mysql安装目录下的data目录下的xxx.err文件,此文件如下所示:
全栈程序员站长
2022/09/21
6.7K0
mysql密码更改_mysql初始密码在哪个文件
mysql中更改密码的首选语句_MySQL如何更改用户密码?(代码实例)「建议收藏」
在MySQL中,可以使用3种不同的语句更改用户帐户密码:UPDATE statementSET PASSWORD statementALTER USER statement.
全栈程序员站长
2022/09/21
5.8K0
mysql中更改密码的首选语句_MySQL如何更改用户密码?(代码实例)「建议收藏」
09-4 更改用户密码
五、更改用户密码 本章最后一个主题,将介绍用户如何为自己设置密码(如果拥有超级用户权限,那么也可以为其它用户设置密码)。 1.passwd-设置或更改密码 使用 passwd 命令可以设置或更改密码。 (1)语法格式 passwd [user] ''' 功能: 设置或更改密码. 参数: ① user : 可选参数,通过指定一个用户名作为 passwd 命令的参数来为其设置密码(前提是**具有超级用户权限**)。 (若不指定 user 参数,也就是直接输入passwd 命令,更改的是**
见贤思齊
2020/08/11
9860
09-4 更改用户密码
点击加载更多

相似问题

通过Spring更改密码

35

通过脚本更改密码

20

通过批处理检查windows密码是否正确

23

通过SSH更改CPanel密码

21

通过powershell更改BIOS密码

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文