- 浏览: 13730450 次
- 性别:
- 来自: 洛杉矶
文章分类
- 全部博客 (1994)
- Php / Pear / Mysql / Node.js (378)
- Javascript /Jquery / Bootstrap / Web (435)
- Phone / IOS / Objective-C / Swift (137)
- Ubuntu / Mac / Github / Aptana / Nginx / Shell / Linux (335)
- Perl / Koha / Ruby / Markdown (8)
- Java / Jsp (12)
- Python 2 / Wxpython (25)
- Codeigniter / CakePHP (32)
- Div / Css / XML / HTML5 (179)
- WP / Joomla! / Magento / Shopify / Drupal / Moodle / Zimbra (275)
- Apache / VPN / Software (31)
- AS3.0/2.0 / Flex / Flash (45)
- Smarty (6)
- SEO (24)
- Google / Facebook / Pinterest / SNS (80)
- Tools (22)
最新评论
-
1455975567:
xuezhongyu01 写道wocan23 写道我想问下那个 ...
Mysql: LBS实现查找附近的人 (两经纬度之间的距离) -
xuezhongyu01:
wocan23 写道我想问下那个111.1是怎么得来的我也看不 ...
Mysql: LBS实现查找附近的人 (两经纬度之间的距离) -
18335864773:
试试 pageoffice 在线打开 PDF 文件吧. pag ...
jquery在线预览PDF文件,打开PDF文件 -
青春依旧:
opacity: 0.5; 个人喜欢这种方式!关于其他css特 ...
css透明度的设置 (兼容所有浏览器) -
July01:
推荐用StratoIO打印控件,浏览器和系统的兼容性都很好,而 ...
搞定网页打印自动分页问题
先是css
<style type="text/css"> /* 缩略图 css */ #thumb{ float:right; margin-right:24px; } .stepcarousel { position: relative; overflow: scroll; width: 550px; height: 130px; background:#f1f1f1; } .stepcarousel .belt { position: absolute; left: 0; top: 0; } .stepcarousel .panel { float: left; overflow: hidden; margin:10px 5px; width: 120px; } .panel img{ max-widht:120px; max-height:120px; margin:3px; cursor:pointer; } #thumb img{cursor:pointer;} </style>
后是 显示第一个
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/OKhzeiZ4WMc&hl=en_US&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/OKhzeiZ4WMc&hl=en_US&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>
最后 视频list
<!-- Description Start --> <div id="summary"><?php print $youtube['description'];?></div> <!-- Description End --> <!-- Thumbnail Navigation Start --> <script type="text/javascript" src="script/jquery.js"></script> <script type="text/javascript" src="script/slide.js"></script> <script type="text/javascript"> stepcarousel.setup({ galleryid: 'thumb', beltclass: 'belt', panelclass: 'panel', autostep: {enable:false, moveby:3, pause:4000}, panelbehavior: {speed:500, wraparound:false, persist:true}, defaultbuttons: {enable: true, moveby: 4, leftnav: ['video/images/ic_next.gif', 470, 110], rightnav: ['video/images/ic_prev.gif', -60, 110]}, statusvars: ['statusA', 'statusB', 'statusC'], contenttype: ['inline'] }) </script> <div id="thumb" class="stepcarousel"> <script type="text/javascript"> /* 得到YouTube 视频列表缩略图大小控制 120*120 */ function DrawImage(ImgD,FitWidth,FitHeight){ var image=new Image(); image.src=ImgD.src; if(image.width>0 && image.height>0){ if(image.width/image.height>= FitWidth/FitHeight){ if(image.width>FitWidth){ ImgD.width=FitWidth; ImgD.height=(image.height*FitWidth)/image.width; }else{ ImgD.width=image.width; ImgD.height=image.height; } } else{ if(image.height>FitHeight){ ImgD.height=FitHeight; ImgD.width=(image.width*FitHeight)/image.height; }else{ ImgD.width=image.width; ImgD.height=image.height; } } } } /* 得到YouTube 视频列表缩略图 */ function getScreen( url, size ) { if(url === null){ return ""; } size = (size === null) ? "big" : size; var vid; var results; results = url.match("[\\?&]v=([^&#]*)"); vid = ( results === null ) ? url : results[1]; if(size == "small"){ return "http://img.youtube.com/vi/"+vid+"/2.jpg"; }else { return "http://img.youtube.com/vi/"+vid+"/0.jpg"; } } /* 得到YouTube代码 */ function get_youtube(url,des){ var output = '<object width="502" height="320">'; output += '<param name="movie" value="' + url + '&hl=en_US&fs=1&"></param>'; output += '<param name="allowFullScreen" value="true"></param>'; output += '<param name="allowscriptaccess" value="always"></param>'; output += '<embed src="' + url + '&hl=en_US&fs=1&autoplay=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="502" height="320"></embed>'; output += '</object>'; document.getElementById("summary").innerHTML = des; document.getElementById("player").innerHTML = output; } document.write('<div class="belt">'); <?php for($i=0;$i<$cntTube;$i++){ $video_url = str_replace('watch?v=','v/',$youtube[$i]['uturl']); ?> imgUrlsmall = getScreen("<?=$youtube[$i]['uturl']?>", 'small'); document.write('<div class="panel"><img src="' + imgUrlsmall + '" onload="DrawImage(this,120,120);" onclick="get_youtube(\'<?=$video_url?>\' ,\'<?=$youtube[$i]["description"]?>\')" /></div>'); <?php } ?> document.write('</div>'); </script> </div> <!-- Thumbnail Navigation End -->
上面是我自己做的,当然还有一个更加简单的,是我后来发现的,就是jquery的YouTube插件。
For a recent client project, we wanted to be able to turn a list of YouTube links into a playlist. This would allow the client to manage their videos on YouTube and simply insert links to the videos on their site. With javascript enabled a nice playlist is created, whilst without javasript the user gets a regular list of links to youtube pages.
Demo showing the plugin with default options .
Demo showing the plugin set up to act like a gallery of YouTube videos .
Using the plugin
The plugin acts on a simple unordered list containing links to YouTube videos, e.g.
<div class="yt_holder"> <div id="ytvideo"></div> <ul class="demo1"> <li><a href="http://www.youtube.com/watch?v=QBBWKvY-VDc">Video 1</a></li> <li><a href="http://www.youtube.com/watch?v=ZXMQqLnRhRI">Video 2</a></li> <li><a href="http://www.youtube.com/watch?v=Wvo-g_JvURI">Video 3</a></li> </ul> </div>
$(function() { $("ul.demo1").ytplaylist(); });
Plugin options
Option -
(default)
holderId
-
(ytvideo)
The ID of the element (usually a div)
into which the YouTube video will be inserted
playerHeight -
(300)
The height of the
embdedded youtube video
playerWidth
- (450)
The width of the
embdedded youtube video
addThumbs
- (false)
Use true
to add video thumbnails to each list item
thumbSize
- (small)
Size of added
thumbnails. Default is small, use large
for
larger thumbnails
showInline
- (false)
If this option is true,
the list item containing the link will be replaced with
the YouTube video. See the gallery
demo
for an example of this.
autoPlay
- (false)
true or false,
whether or not to autoplay videos
showRelated
- (true)
Set to false
to stop related videos being shown at the end of the
embedded video
Download
当然,最简单非Google Youtube API了,
<!-- copyright (c) 2009 google inc. You are free to copy and use this sample. License can be found here: http://code.google.com/apis/ajaxsearch/faq/#license --> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <title>YouTube Player API Sample</title> <style type="text/css"> #videoDiv { margin-right: 3px; } #videoInfo { margin-left: 3px; } </style> <script src="http://www.google.com/jsapi" type="text/javascript"></script> <script type="text/javascript"> google.load("swfobject", "2.1"); </script> <script type="text/javascript"> /* * Change out the video that is playing */ // Update a particular HTML element with a new value function updateHTML(elmId, value) { document.getElementById(elmId).innerHTML = value; } // Loads the selected video into the player. function loadVideo() { var selectBox = document.getElementById("videoSelection"); var videoID = selectBox.options[selectBox.selectedIndex].value if(ytplayer) { ytplayer.loadVideoById(videoID); } } // This function is called when an error is thrown by the player function onPlayerError(errorCode) { alert("An error occured of type:" + errorCode); } // This function is automatically called by the player once it loads function onYouTubePlayerReady(playerId) { ytplayer = document.getElementById("ytPlayer"); ytplayer.addEventListener("onError", "onPlayerError"); } // The "main method" of this sample. Called when someone clicks "Run". function loadPlayer() { // The video to load var videoID = "ylLzyHk54Z0" // Lets Flash from another domain call JavaScript var params = { allowScriptAccess: "always" }; // The element id of the Flash embed var atts = { id: "ytPlayer" }; // All of the magic handled by SWFObject (http://code.google.com/p/swfobject/) swfobject.embedSWF("http://www.youtube.com/v/" + videoID + "&enablejsapi=1&playerapiid=player1", "videoDiv", "480", "295", "8", null, null, params, atts); } function _run() { loadPlayer(); } google.setOnLoadCallback(_run); </script> </head> <body style="font-family: Arial;border: 0 none;"> <table> <tr> <td><div id="videoDiv">Loading...</div></td> <td valign="top"> <div id="videoControls"> <p>Select a video to load:</p> <select id="videoSelection" onchange="loadVideo();"> <option value="ylLzyHk54Z0" selected>YouTube API Overview</option> <option value="muLIPWjks_M">Ninja Cat</option> <option value="GMUlhuTkM3w">Beatboxing Flute</option> </select> </div> </td></tr> </table> </body> </html>
http://code.google.com/apis/ajax/playground/
另外亦可参看
<script type="text/javascript" src="http://www.youtubereloaded.com/embed/swfobject.js"></script> <div id="YouTubeReloadedPlayer">This div will be replaced</div> <script type="text/javascript"> var s1 = new SWFObject('http://www.youtubereloaded.com/embed/player.swf','ply','470','470','9','#'); s1.addParam('allowfullscreen','true'); s1.addParam('allowscriptaccess','always'); s1.addParam('wmode','opaque'); s1.addParam('flashvars','file=http%3A%2F%2Fgdata.youtube.com%2Ffeeds%2Fapi%2Fvideos%3Fvq%3Dmicheal+jackson%26max-results%3D20&playlist=bottom&frontcolor=cccccc&lightcolor=66cc00&skin=http://www.youtubereloaded.com/embed/skin1.swf&backcolor=111111&playlistsize=200&autostart=true'); s1.write('YouTubeReloadedPlayer'); </script>
http://www.youtubereloaded.com/
- js.rar (23.2 KB)
- 下载次数: 8
- jquery.youtubeplaylist.zip (3.8 KB)
- 下载次数: 9
发表评论
-
亚马逊Amazon刷单那点事! 刷单工具
2016-08-31 12:05 25646说起刷单,其实很多卖家早期都是用积分卡(Gift Card ... -
[法律授权] 我可以在自己的网站上使用那支影片吗? Youtube、Vimeo、Vine,Instgram
2016-08-19 03:08 1861原文: Can I Use That Video on My ... -
YouTube怎么判断影片内含侵权内容? 解析Content ID内容识别系统的原理及功能
2016-08-19 03:09 8874你有没有发现YouTube上 ... -
Chrome 开发工具 (Chrome Developer Tools):Network Panel说明
2016-08-11 00:51 5141出处:http://www.cnblogs.com/st ... -
Google 搜索技巧
2016-04-07 13:11 1242这里记录一些非常有用的搜索技巧,熟练运用后可以有效提升自己的 ... -
谷歌网站翻译插件 Website Translator
2016-03-18 01:15 6947go to website: https://transla ... -
减少HTTP请求之合并图片详解(大型网站优化技术)
2015-12-10 02:25 975一、相关知识讲解 ... -
减少HTTP请求(大型网站优化技术)
2015-12-10 02:21 873在网站开发过程中,对于页面的加载效率一般都想尽办法求快。那么 ... -
亚马逊云服务安装magneto How To Install Magento On Amazon EC2
2015-12-09 02:27 1536Magento is an open source cont ... -
调整谷歌reCAPTCHA大小 How to resize the Google noCAPTCHA reCAPTCHA
2015-11-17 01:58 2255最近调试reCAPTCHA的时候,发现手机版的reCAPTC ... -
如何计算神秘的Google Adwords 品质分数– 提升到10分神的境界
2015-08-25 00:42 2320什么是品质分数 Goo ... -
利用Gtmetrix检测你的网站载入速度!
2015-08-25 00:40 1755网站的载入速度会影响使用者操作网站的效率,网站越快速、使用效 ... -
Facebook轮播连结广告可展示5个图像与连结
2015-08-25 00:37 2712在脸书动态上,你一定发现有一种广告一则广告就放了5张的 ... -
Google我的商家设定
2015-08-23 11:21 1703谁说免费的最贵? 介绍您一个非常实用且完全免费的网路 ... -
品牌不可不知的YouTube的影片行销策略
2015-08-23 11:20 1526行动装置、影片和程序化购卖是当前品牌行销的首要考虑 ... -
嵌入谷歌文档 Embed Google Doc Viewer: Display Google Drive Documents, SpreadSheets, PD
2015-07-11 07:19 2057Here Mudassar Ahmed Khan has ... -
谷歌地图标记切换 Move Google Maps Markers: Change (Update) Marker position on Google Map
2015-07-11 07:20 1957In this article I will explai ... -
谷歌无地图地址自动完成Google Places AutoComplete example without using Maps
2015-07-09 02:37 3398In this article I will explain ... -
Google Maps V3: 通过经纬度获取地址信息 Get address from Latitude and Longitude
2015-07-09 02:36 1866In this article I will explai ... -
点击谷歌地图后获取经纬度 Get Latitude and Longitude (Location Coordinates) using Google Maps
2015-07-09 02:35 1815n this short code snippet arti ...
相关推荐
从头开始机器学习youtube播放列表的代码库 01最小二乘法线性回归 02使用梯度下降的线性回归 2分钟内完成线性回归 从头开始机器学习youtube播放列表的代码库 01最小二乘法线性回归 02使用梯度下降的线性回归 2分钟内...
一个python工具,用于从任何频道获取和下载YouTube播放列表。功能包括频道搜索、按字母顺序排列播放列表、分页和使用yt-dlp下载单个视频或整个播放列表。易于使用,具有简单的命令行界面.zip
此应用程序将随机播放YouTube播放列表,以便您可以在不支持随机播放的YouTube平台(例如Apple TV)上播放随机播放的播放列表。 入门 前往 您将被重定向到Google以使用您的YouTube帐户进行身份验证 点击您要随机播放...
YouTube播放列表持续时间计算器Firefox和Chrome网络扩展程序,用于计算并显示youtube播放列表的总时长。预告片安装Chrome: Firefox:另外,您可以按照以下说明手动安装扩展程序:- 对于Chrome:- 将此项目下载为zip...
Upnext,由hbk Pancakes开发的YouTube播放列表测试版v0.1 twitter @ hbkpancakes | Upnext是YouTube播放列表的构建器,它将根据您指定的频道订阅选择删除旧视频并将新视频添加到指定的播放列表。 ****** 请注意 ****...
YouTube Playlist Manager是一款开源软件,专为用户提供了便捷的YouTube播放列表管理功能。这款工具使得整理和保存个人喜欢的YouTube视频变得更加简单,用户可以无限量地创建和存储播放列表,以便在未来的任何时间...
"youtubeEcho:YouTube播放列表的音频播放器"这个标题表明,这是一个针对YouTube平台的项目,它的主要功能是作为一个音频播放器,能够处理和播放YouTube上的播放列表。这里的“Echo”可能暗示了它具有回放或持续播放...
Java Fabric 1.20.X 是一个针对Minecraft游戏的模组开发框架,它允许开发者为游戏添加新的功能、物品、生物以及系统,极大地扩展了游戏的可玩性。在这个教程系列中,我们将会深入探讨如何利用Java编程语言与Fabric ...
Java_仓库我的Forge 120X教程系列是针对Java编程语言中的一项特定技术——Forge进行的一系列教学视频。Forge是一个强大的平台,主要用于Minecraft游戏的模组开发,它允许开发者扩展游戏的功能,创建自定义内容,如新...
播放列表-dl YouTube播放列表下载器。 基于雄伟的特征断点续传可以配置视频分辨率,视频格式,音频比特率,音频格式视频输出格式(通过转换)也可以指定还支持其他安装仅适用于Python 3。 从点子获取pip install ...
音乐根据搜索文字或整个YouTube播放列表下载歌曲
如果您在YouTube帐户中管理很多播放列表,则此扩展程序可以改善用户体验。 您可以轻松查看您的帐户中是否已将某个视频列入播放列表。 它也适用于具有相似名称的vidoe。 这样,它可以避免播放列表中的重复项,并帮助...
在本课程"LearningDjango:从CoreyMS的YouTube播放列表中学习Django"中,我们将深入探索Python的顶级Web框架Django。Django是一个基于Python的免费且开源的框架,它遵循模型-视图-控制器(MVC)设计模式,用于快速...
免费的YouTube上传器是第一个...- 在几秒钟内创建任何Youtube播放列表 ; - 通过代理工作时上传视频。此免费程序不包含间谍软件或广告软件。它是100%免费的,安装和运行绝对安全。 Windows 10,8,7,Vista,XP SP3 下载
您可以设置运行播放列表的选项卡(如果您有多个YouTube选项卡打开),并使用快捷方式在播放列表中前后移动。 在页面底部的键盘快捷方式中设置chrome:// extensions中的快捷方式。 支持语言:English (United States)
`youtube-playlist-videos-scraper-1.1.4.tar.gz`是一个针对YouTube的Python库,专门用于抓取和处理YouTube播放列表中的视频信息。这个库的名字揭示了它的主要功能,即从YouTube上抓取播放列表中的视频数据,并进行...
使用前要安装的软件包pytube pydub 飞扬的
Create React App入门 该项目是通过。 可用脚本 在项目目录中,可以运行: yarn start 在开发模式下运行应用程序。 打开在浏览器中查看。 如果进行编辑,页面将重新加载。 您还将在控制台中看到任何棉绒错误。...
1=====播放YouTube视频呢?这个也有滴就,支持横竖屏切换,支持列表播放,可以只定义扩展,可以放到项目中直接运行。。。。。 2=====当然播放HLS格式的视频有时候确实是比较麻烦,ijkplayer还得编译so库进行支持...
乳齿动物标签播放列表 此版本不依赖任何服务器端代码。 有关NodeJS应用程序,请参见master分支。 演示版