44 | This is my first blog entry. 45 |
46 | The All Seeing I - Beat Goes On HQ 47 |├── .gitignore
├── README.md
├── ROADMAP.md
├── TODO.md
├── build
├── copywrite
├── jquery-youtube-player-0.1a.zip
├── jquery-youtube-player-0.1a1.zip
├── jslint.js
└── release.sh
├── css
└── youtube-player.css
├── examples
├── css
│ ├── example.css
│ └── jcarousel-youtube-player
│ │ ├── credits.txt
│ │ ├── next-horizontal.png
│ │ ├── prev-horizontal.png
│ │ └── skin.css
├── img
│ └── ajax-loader.gif
├── js
│ └── jquery.jcarousel.min.js
├── player-advanced.html
├── player-blog.html
├── player-custom-playlist.html
├── player-data-source.html
├── player-embedded.html
├── player-hash-history.html
├── player-html.html
├── player-ian.html
├── player-kurtjx.html
├── player-multiple-players.html
├── player-multiple-playlists.html
├── player-options.html
├── player-positioning.html
├── player-states.html
├── player-themes.html
├── player-toolbar-buttons.html
└── player.html
├── index.html
├── js
├── jquery.youtube.player.js
└── jquery.youtube.player.min.js
└── tests
├── api.js
├── destroy.js
├── events.js
├── index.html
└── setup.js
/.gitignore:
--------------------------------------------------------------------------------
1 | png/
2 | apache/
3 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | This jQuery plugin builds a youtube video player.
2 |
3 | **Player consists of:**
4 |
5 | * The chromeless or embedded Youtube player (Flash 8)
6 | * Optional customizable toolbar
7 | * Playlist area
8 |
9 | **Dependencies:**
10 |
11 | * Flash plugin installed on browser
12 | * swfobject
13 | * jQuery UI CSS theme
14 |
15 | **Playlists**
16 |
17 | The plugin accepts 4 types of playlists:
18 |
19 | * Custom playlist (define the vidoes by youtube video id's)
20 | * Youtube playlist (Youtube playlist id)
21 | * Youtube latest videos by user (Youtube username)
22 | * Collection of youtube links
23 |
24 | **Wiki**
25 |
26 | * [Installation and usage](http://github.com/badsyntax/jquery-youtube-player/wiki/Installation-and-usage)
27 | * [Screenshots](http://github.com/badsyntax/jquery-youtube-player/wiki/Screenshots)
28 |
29 | **Examples:**
30 |
31 | * [Basic example](http://badsyntax.github.com/jquery-youtube-player/examples/player.html)
32 | * [Advanced example](http://badsyntax.github.com/jquery-youtube-player/examples/player-advanced.html)
33 | * [All examples](http://badsyntax.github.com/jquery-youtube-player/)
34 | * Original concept: [http://dubstep.uk.net](http://dubstep.uk.net)
35 |
36 | This plugin is being actively developed. Feel free to use the latest revision.
37 | Suggestions, feedback, bugs, anything is appreciated. Please use the [Issue Tracker](http://github.com/badsyntax/jquery-youtube-player/issues) to post project related feedback, or send an email to willis.rh@gmail.com
38 |
--------------------------------------------------------------------------------
/ROADMAP.md:
--------------------------------------------------------------------------------
1 | V1
2 | * The plugin should have well written unit tests. At the very least the documented public API and event callbacks should be unit-tested.
3 |
--------------------------------------------------------------------------------
/TODO.md:
--------------------------------------------------------------------------------
1 | * HD button
2 | * Fullscreen button
3 | * Seek bar
4 | * Time progress
5 | * Buffer progress
6 | * Toggle buttons (for play/pause)
7 | * Video thumbnails for playlist
8 | * Default browser scrollbar in playlist area
9 | * Add fields for loading playlists in the api example file
10 | * Route events to toolbar button states
11 | * Solid cross browser testing
12 | * Update documentation
13 | * Add screenshots page
14 | * Option setter and getter
15 | * Multiple players on same page
16 | * Repeat all videos in playlist
17 | * Get track info by id (so user doesn't have to supply title in custom playlist)
18 | * Custom playlistBuilder click handler option
19 | * Add option to use chromed youtube video player and no custom toolbar
20 | * Hash history
21 | * Create build script
22 | * Reduce file size
23 | * Show examples how to add to blog posts / cms etc
24 | * Make it accessible (also keyboard events)
25 |
--------------------------------------------------------------------------------
/build/copywrite:
--------------------------------------------------------------------------------
1 | /*
2 | * jquery.youtube.min.js v${ver} - a jquery youtube player
3 | * Copyright (c) 2010 Richard Willis
4 | * MIT license : http://www.opensource.org/licenses/mit-license.php
5 | * Project : http://github.com/badsyntax/jquery-youtube-player
6 | * Contact : willis.rh@gmail.com | badsyntax.co.uk
7 | * Build time : ${time}
8 | */
9 |
--------------------------------------------------------------------------------
/build/jquery-youtube-player-0.1a.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/badsyntax/jquery-youtube-player/188652925753dd2946af4a39e7f955e804107e0b/build/jquery-youtube-player-0.1a.zip
--------------------------------------------------------------------------------
/build/jquery-youtube-player-0.1a1.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/badsyntax/jquery-youtube-player/188652925753dd2946af4a39e7f955e804107e0b/build/jquery-youtube-player-0.1a1.zip
--------------------------------------------------------------------------------
/build/release.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | #
3 | # @description : this BASH script is used to build the jquery youtube player plugin
4 | # @author : Richard Willis
5 | # @project : http://github.com/badsyntax/jquery-youtube-player
6 | # @requirements : curl, zip, git, rhino
7 |
8 | echo -n "Enter the version for this release: "
9 |
10 | read ver
11 |
12 | if [ ! $ver ]; then
13 |
14 | echo "Invalid version."
15 |
16 | exit
17 | fi
18 |
19 | #echo "Checking.."
20 |
21 | #lint=$(js jslint.js ../js/jquery.youtube.player.js)
22 |
23 | echo "Building.."
24 |
25 | name=jquery-youtube-player
26 | in=../js/jquery.youtube.player.js
27 | out=../js/jquery.youtube.player.min.js
28 | thedate=$(date)
29 |
30 | cat copywrite | sed "s/\${ver}/$ver/g;s/\${time}/$thedate/g" > $out
31 |
32 | curl -s \
33 | -d compilation_level=SIMPLE_OPTIMIZATIONS \
34 | -d output_format=text \
35 | -d output_info=compiled_code \
36 | --data-urlencode "js_code@${in}" \
37 | http://closure-compiler.appspot.com/compile \
38 | >> $out
39 |
40 | git add $out && git commit -m "added ${ver} min version"
41 |
42 | rm -rf "${name}-${ver}" && mkdir "${name}-${ver}" && cd "${name}-${ver}"
43 |
44 | cp -r ../../js/ .
45 | cp -r ../../css/ .
46 | cp -r ../../examples/ .
47 | cp ../../index.html .
48 | cp ../../README.md .
49 |
50 | cd ../
51 |
52 | zip -r "${name}-${ver}.zip" "${name}-${ver}"
53 |
54 | rm -rf "${name}-${ver}"
55 |
56 | git add "${name}-${ver}.zip" && git commit -m "added v${ver} release archive" && git push
57 |
58 | cd ../
59 |
60 | git tag -a $ver -m "tagged version ${ver}" && git push --tags
61 |
62 | echo "done."
63 |
--------------------------------------------------------------------------------
/css/youtube-player.css:
--------------------------------------------------------------------------------
1 | .youtube-player {
2 | font-size: 86%;
3 | position: relative;
4 | }
5 | .youtube-player-toolbar {
6 | background: #111;
7 | margin: .1em 0 0 0;
8 | }
9 | .youtube-player-toolbar li.youtube-player-time {
10 | float: right;
11 | font-weight: normal;
12 | font-size: 10px;
13 | line-height: 28px;
14 | margin: 0pt 5px 0pt 0pt;
15 | padding: 0;
16 | display: none;
17 | cursor: default;
18 | }
19 | .youtube-player-object {
20 | border: 1px solid #282828;
21 | }
22 | .youtube-player-toolbar li {
23 | cursor: pointer;
24 | float: left;
25 | list-style: none outside none;
26 | margin: 2px;
27 | padding: 4px 0;
28 | }
29 | .youtube-player-toolbar li span.ui-icon {
30 | float: left;
31 | margin: 0 4px;
32 | }
33 | .youtube-player-playlist-container {
34 | border: 1px solid #282828;
35 | margin-top: .2em;
36 | position: relative;
37 | display: none;
38 | }
39 | .youtube-player-playlist {
40 | list-style: decimal;
41 | overflow: auto;
42 | margin: 2px;
43 | padding: 0;
44 | }
45 | .youtube-player-playlist li {
46 | overflow-x: hidden;
47 | border: 0;
48 | cursor: pointer;
49 | text-decoration: none;
50 | list-style-type: decimal;
51 | padding: 2px 4px 2px;
52 | white-space: nowrap;
53 | font-size: 13px;
54 | }
55 | .youtube-player-playlist .youtube-player-thumb {
56 | float: left;
57 | height: 90px;
58 | width: 124px;
59 | list-style: none;
60 | overflow: hidden;
61 | }
62 | .youtube-player-playlist .youtube-player-thumb img {
63 | height: 90px;
64 | width: 124px;
65 | }
66 | .ui-state-default, .ui-widget-content .ui-state-default {
67 | background-position: -9999px -9999px;
68 | }
69 | .ui-state-hover,
70 | .ui-widget-content .ui-state-hover,
71 | .ui-widget-header .ui-state-hover,
72 | .ui-state-focus,
73 | .ui-widget-content .ui-state-focus,
74 | .ui-widget-header .ui-state-focus {
75 | background-position: 50% 50%;
76 | }
77 | .ui-state-default,
78 | .ui-widget-content .ui-state-default,
79 | .ui-widget-header .ui-state-default {
80 | border-color: #333;
81 | }
82 |
--------------------------------------------------------------------------------
/examples/css/example.css:
--------------------------------------------------------------------------------
1 | /* this stylesheet is used by the example files, it is not required by the jquery youtube player */
2 | body { font: normal 90% Arial; background: #ddd; margin: 1em 1em 3em 1em; text-align: center; }
3 | a, a:visited { color: #7D000F; text-decoration: underline; }
4 | a:hover { text-decoration: none; }
5 | #github-ribbon { position: absolute; top: 0; right: 1px; border: 0; }
6 | #theme-switcher { position: absolute; right: 1em; top: 1em; }
7 | #centered{ width: 425px; margin: 2em auto 0 auto; text-align: left; }
8 | .advanced #centered{ width: 780px;}
9 | .index #centered{ width: 700px; }
10 | #events{ border: 1px solid #aaa; padding: 1em; max-height: 6em; overflow: auto }
11 | h1 { font-size: 1.5em; font-family: 'Droid Sans', arial, serif; }
12 | h1 a, h1 a:visited { padding: .8em .2em 0 0; text-decoration: none; -moz-text-shadow: none; -webkit-text-shadow: none; text-shadow: none;}
13 | h2 { font-family: 'Droid Sans', arial, serif; }
14 | h1,h2,h3{-moz-text-shadow: 0.1em 0.1em 0 #EEEEEE; -webkit-text-shadow: 0.1em 0.1em 0 #EEEEEE; text-shadow: 0.1em 0.1em 0 #EEEEEE; margin: .8em 0 .5em 0;}
15 | img { border: 0;}
16 | label { padding: .2em 0; display: block; position: relative; cursor: pointer; float: left; clear: left; }
17 | label input { position: absolute; left: 130px; top: 0; cursor: pointer; }
18 | button { clear: left; overflow: visible; white-space: nowrap; padding: .5em; cursor: pointer; border: 1px solid #bbb; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; -moz-box-shadow: #bbb 0 1px 4px; -webkit-box-shadow: #bbb 0 1px 4px; box-shadow: #bbb 0 1px 4px; color: #333; -moz-text-shadow: 1px 1px 0 #FFFFFF; -webkit-text-shadow: 1px 1px 0 #FFFFFF; text-shadow: 1px 1px 0 #FFFFFF; font: bold 12px helvetica,arial,freesans,clean,sans-serif; background: #f4f4f4; background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#ddd)); background: -moz-linear-gradient(top, #fff, #ddd); }
19 | button.mousedown, button:active { background: -webkit-gradient(linear, left top, left bottom, from(#ddd), to(#eee)); background: -moz-linear-gradient(top, #ddd, #eee); }
20 | button.mouseenter, button.focus, button:hover { color: #000; border-color: #888; outline: none; }
21 | .multiple-playlists #centered {width:660px;}
22 | .playlists { width:200px; margin-left: 30px;}
23 | .playlists ol { border: 1px solid #111; margin: 0; padding-left: 2.4em; }
24 | .playlists li { }
25 | .playlists a { color: #000; padding: .3em 0; display: block; }
26 | .playlists a:hover { color: #990000; }
27 | .field-row { padding: .3em 0; }
28 | #footer { border-top: 1px solid #aaa; margin-top: 3em; padding-top: .5em; font-size: .9em; color: #888; clear: both; }
29 | #footer a { color: #888; text-decoration: none;}
30 | #footer a:hover { text-decoration: underline; }
31 | .helper-left { float: left; }
32 | .helper-right { float: right; }
33 | .clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
34 | .clearfix { display: inline-block; }
35 | html .clearfix { height:1%; }
36 | * .clearfix { display:block; }
37 | #nav { display: block; margin: 0 0 2em 0; background: transparent url(img/nav_bg.jpg) repeat-x center bottom; border: 1px solid #ccc; -moz-border-radius: 6px; -webkit-border-radius: 6px; border-radius: 6px; -moz-box-shadow: 2px 2px 2px #999; -webkit-box-shadow: 2px 2px 2px #999; box-shadow: 2px 2px 2px #999; text-align: center; }
38 | #nav ul { margin: 0; padding: 0; width: auto; border-right: 1px solid #ddd; }
39 | #nav ul li { list-style: none; margin: 0; padding: 0; width: 116px; float: left; }
40 | #nav ul li a { display: block; padding: .5em 1.5em; text-decoration: none; text-align: center; font-size: 80%; text-transform: uppercase; border-left: 1px solid #ddd; border-right: 1px solid #fff; outline: none; }
41 | #nav ul li a.first { border-left: 0; }
42 | #nav ul li a.selected { text-decoration: underline; }
43 | #nav ul li a:hover { border: 1px solid #aaa; border-width: 0 1px; -moz-box-shadow: 0 0 3px #888; -webkit-box-shadow: 0 0 3px #888; box-shadow: 0 0 3px #888; text-shadow: 1px 1px 1px #ccc; }
44 | #nav ul li a:active { -moz-box-shadow: 0 0 4px #333; -webkit-box-shadow: 0 0 4px #333; box-shadow: 0 0 4px #333; }
45 | .gist .gist-file .gist-data { font-size: 85% !important; }
46 | .gist { border: 1px solid #aaa; }
47 | .gist .gist-file { margin-bottom: 0 !important; }
48 | .gist .gist-file .gist-data { height: 350px !important; }
49 |
--------------------------------------------------------------------------------
/examples/css/jcarousel-youtube-player/credits.txt:
--------------------------------------------------------------------------------
1 | Button images copyright by Tango Icon Library Team (http://tango.freedesktop.org/Tango_Icon_Library)
--------------------------------------------------------------------------------
/examples/css/jcarousel-youtube-player/next-horizontal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/badsyntax/jquery-youtube-player/188652925753dd2946af4a39e7f955e804107e0b/examples/css/jcarousel-youtube-player/next-horizontal.png
--------------------------------------------------------------------------------
/examples/css/jcarousel-youtube-player/prev-horizontal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/badsyntax/jquery-youtube-player/188652925753dd2946af4a39e7f955e804107e0b/examples/css/jcarousel-youtube-player/prev-horizontal.png
--------------------------------------------------------------------------------
/examples/css/jcarousel-youtube-player/skin.css:
--------------------------------------------------------------------------------
1 | .jcarousel-skin-youtube-player .jcarousel-container {
2 | -moz-border-radius: 10px;
3 | border: 1px solid #000;
4 | background: #000;
5 | }
6 |
7 | .jcarousel-skin-youtube-player .jcarousel-direction-rtl {
8 | direction: rtl;
9 | }
10 |
11 | .jcarousel-skin-youtube-player .jcarousel-container-horizontal {
12 | width: 340px;
13 | padding: 4px 40px;
14 | }
15 |
16 | .jcarousel-skin-youtube-player .jcarousel-container-vertical {
17 | width: 75px;
18 | height: 245px;
19 | padding: 40px 20px;
20 | }
21 |
22 | .jcarousel-skin-youtube-player .jcarousel-clip-horizontal {
23 | width: 340px;
24 | height: 75px;
25 | }
26 |
27 | .jcarousel-skin-youtube-player .jcarousel-clip-vertical {
28 | width: 75px;
29 | height: 245px;
30 | }
31 |
32 | .jcarousel-skin-youtube-player .jcarousel-item {
33 | width: 75px;
34 | height: 75px;
35 | }
36 |
37 | .jcarousel-skin-youtube-player .jcarousel-item-horizontal {
38 | margin-left: 0;
39 | margin-right: 10px;
40 | cursor: pointer;
41 | }
42 |
43 | .jcarousel-skin-youtube-player .jcarousel-direction-rtl .jcarousel-item-horizontal {
44 | margin-left: 10px;
45 | margin-right: 0;
46 | }
47 |
48 | .jcarousel-skin-youtube-player .jcarousel-item-vertical {
49 | margin-bottom: 10px;
50 | }
51 |
52 | .jcarousel-skin-youtube-player .jcarousel-item-placeholder {
53 | background: #fff;
54 | color: #000;
55 | }
56 |
57 | /**
58 | * Horizontal Buttons
59 | */
60 | .jcarousel-skin-youtube-player .jcarousel-next-horizontal {
61 | position: absolute;
62 | top: 24px;
63 | right: 5px;
64 | width: 32px;
65 | height: 32px;
66 | cursor: pointer;
67 | background: transparent url(next-horizontal.png) no-repeat 0 0;
68 | }
69 |
70 | .jcarousel-skin-youtube-player .jcarousel-direction-rtl .jcarousel-next-horizontal {
71 | left: 5px;
72 | right: auto;
73 | background-image: url(prev-horizontal.png);
74 | }
75 |
76 | .jcarousel-skin-youtube-player .jcarousel-next-horizontal:hover {
77 | background-position: -32px 0;
78 | }
79 |
80 | .jcarousel-skin-youtube-player .jcarousel-next-horizontal:active {
81 | background-position: -64px 0;
82 | }
83 |
84 | .jcarousel-skin-youtube-player .jcarousel-next-disabled-horizontal,
85 | .jcarousel-skin-youtube-player .jcarousel-next-disabled-horizontal:hover,
86 | .jcarousel-skin-youtube-player .jcarousel-next-disabled-horizontal:active {
87 | cursor: default;
88 | background-position: -96px 0;
89 | }
90 |
91 | .jcarousel-skin-youtube-player .jcarousel-prev-horizontal {
92 | position: absolute;
93 | top: 24px;
94 | left: 5px;
95 | width: 32px;
96 | height: 32px;
97 | cursor: pointer;
98 | background: transparent url(prev-horizontal.png) no-repeat 0 0;
99 | }
100 |
101 | .jcarousel-skin-youtube-player .jcarousel-direction-rtl .jcarousel-prev-horizontal {
102 | left: auto;
103 | right: 5px;
104 | background-image: url(next-horizontal.png);
105 | }
106 |
107 | .jcarousel-skin-youtube-player .jcarousel-prev-horizontal:hover {
108 | background-position: -32px 0;
109 | }
110 |
111 | .jcarousel-skin-youtube-player .jcarousel-prev-horizontal:active {
112 | background-position: -64px 0;
113 | }
114 |
115 | .jcarousel-skin-youtube-player .jcarousel-prev-disabled-horizontal,
116 | .jcarousel-skin-youtube-player .jcarousel-prev-disabled-horizontal:hover,
117 | .jcarousel-skin-youtube-player .jcarousel-prev-disabled-horizontal:active {
118 | cursor: default;
119 | background-position: -96px 0;
120 | }
121 |
122 | /**
123 | * Vertical Buttons
124 | */
125 | .jcarousel-skin-youtube-player .jcarousel-next-vertical {
126 | position: absolute;
127 | bottom: 5px;
128 | left: 43px;
129 | width: 32px;
130 | height: 32px;
131 | cursor: pointer;
132 | background: transparent url(next-vertical.png) no-repeat 0 0;
133 | }
134 |
135 | .jcarousel-skin-youtube-player .jcarousel-next-vertical:hover {
136 | background-position: 0 -32px;
137 | }
138 |
139 | .jcarousel-skin-youtube-player .jcarousel-next-vertical:active {
140 | background-position: 0 -64px;
141 | }
142 |
143 | .jcarousel-skin-youtube-player .jcarousel-next-disabled-vertical,
144 | .jcarousel-skin-youtube-player .jcarousel-next-disabled-vertical:hover,
145 | .jcarousel-skin-youtube-player .jcarousel-next-disabled-vertical:active {
146 | cursor: default;
147 | background-position: 0 -96px;
148 | }
149 |
150 | .jcarousel-skin-youtube-player .jcarousel-prev-vertical {
151 | position: absolute;
152 | top: 5px;
153 | left: 43px;
154 | width: 32px;
155 | height: 32px;
156 | cursor: pointer;
157 | background: transparent url(prev-vertical.png) no-repeat 0 0;
158 | }
159 |
160 | .jcarousel-skin-youtube-player .jcarousel-prev-vertical:hover {
161 | background-position: 0 -32px;
162 | }
163 |
164 | .jcarousel-skin-youtube-player .jcarousel-prev-vertical:active {
165 | background-position: 0 -64px;
166 | }
167 |
168 | .jcarousel-skin-youtube-player .jcarousel-prev-disabled-vertical,
169 | .jcarousel-skin-youtube-player .jcarousel-prev-disabled-vertical:hover,
170 | .jcarousel-skin-youtube-player .jcarousel-prev-disabled-vertical:active {
171 | cursor: default;
172 | background-position: 0 -96px;
173 | }
174 |
--------------------------------------------------------------------------------
/examples/img/ajax-loader.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/badsyntax/jquery-youtube-player/188652925753dd2946af4a39e7f955e804107e0b/examples/img/ajax-loader.gif
--------------------------------------------------------------------------------
/examples/js/jquery.jcarousel.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * jCarousel - Riding carousels with jQuery
3 | * http://sorgalla.com/jcarousel/
4 | *
5 | * Copyright (c) 2006 Jan Sorgalla (http://sorgalla.com)
6 | * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
7 | * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
8 | *
9 | * Built on top of the jQuery library
10 | * http://jquery.com
11 | *
12 | * Inspired by the "Carousel Component" by Bill Scott
13 | * http://billwscott.com/carousel/
14 | */
15 |
16 | (function(i){var q={vertical:false,rtl:false,start:1,offset:1,size:null,scroll:3,visible:null,animation:"normal",easing:"swing",auto:0,wrap:null,initCallback:null,reloadCallback:null,itemLoadCallback:null,itemFirstInCallback:null,itemFirstOutCallback:null,itemLastInCallback:null,itemLastOutCallback:null,itemVisibleInCallback:null,itemVisibleOutCallback:null,buttonNextHTML:"
31 | The plugin has many options and events you can use to customize your player. View the 32 | usage guide for a full list of the 33 | available plugin options and events. 34 |
35 | 36 |38 | This example will convert all the specified youtube links to 39 | youtube players. 40 |
41 | 42 |44 | This is my first blog entry. 45 |
46 | The All Seeing I - Beat Goes On HQ 47 |51 | This is my second blog entry. 52 |
53 | All Online Data Lost After Internet Crash 54 |33 | This example file demonstrates how to create a custom playlist using the playlistBuilder option. 34 |
35 | 36 |48 | This example reads the playlist from HTML. 49 | All you need to do is specify a list with links to youtube videos, and the plugin will convert it into the video playlist area. 50 | The player is embedded and uses a custom toolbar and custom playlist area. 51 |
52 | 53 |31 | It's real easy to set up a default youtube embedded video with an (optionally) attached playlist. 32 |
33 | 34 |32 | Hash history is not a core feature of the plugin, but it's real easy to integrate a third party 33 | hash history plugin. This example uses the excellent jquery-hashchange plugin. 34 |
35 |36 | Note: You can only load videos that exist in the playlist, you can't load arbitrary videos via the hash. 37 |
38 | 39 |27 | This file shows the final markup of the player, toolbar and playlist. 28 |
29 | 30 | 65 |31 | The plugin will work with multiple players in the page. 32 |
33 | 34 |32 | The plugin API allows you to easily hook into the base functions. 33 | The example demonstrates how to load different playlists, and use 34 | the callback events. 35 |
36 | 37 |31 | This example demonstrates custom positioning of the video elements. 32 | You can specifiy where the elements should be appended into the DOM. 33 |
34 | 35 |31 | Use the themeswitcher to choose a new jQuery UI theme. 32 |
33 | 34 |31 | Use the options to pass in custom buttons and toolbar definitions. 32 |
33 | 34 |
31 | The default player is chromeless with a custom toolbar and playlist area. 32 | The player, toolbar and playlist are completely customizable. 33 |
34 | 35 |25 | The jQuery Youtube Player plugin builds a custom youtube video player, toolbar and playlist area. 26 |
27 | 28 |If you notice the plugin is working as expected, or would like to request new features, please use the issue tracker.
55 |Tested on: FF3.6; IE 6, 7 and 8; Chrome 7; Safari 5
56 | 57 |View the source files on github.
60 | 61 |Send emails to willis.rh@gmail.com
70 |