diff options
| author | Czterooki <czterooki1337@gmail.com> | 2013-07-20 18:28:57 -0400 |
|---|---|---|
| committer | Czterooki <czterooki1337@gmail.com> | 2013-07-20 18:28:57 -0400 |
| commit | bc1bc9f6ef08d778b7218e86ea00f43c1d9bce81 (patch) | |
| tree | 104fcb30ac68a0f76c0aec37fb01ff65c409f927 /js/youtube.js | |
| parent | ca5283abaddb6014bc6075ea9fbf3a8daa19f2cc (diff) | |
| parent | d31be1958de76e5cabc14ddd410287055b6dac0c (diff) | |
Merge branch 'master' of github.com:vichan-devel/Tinyboard
Diffstat (limited to 'js/youtube.js')
| -rw-r--r-- | js/youtube.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/js/youtube.js b/js/youtube.js new file mode 100644 index 00000000..f64d4874 --- /dev/null +++ b/js/youtube.js @@ -0,0 +1,43 @@ +/* +* youtube +* https://github.com/savetheinternet/Tinyboard/blob/master/js/youtube.js +* +* Don't load the YouTube player unless the video image is clicked. +* This increases performance issues when many videos are embedded on the same page. +* Currently only compatiable with YouTube. +* +* Proof of concept. +* +* Released under the MIT license +* Copyright (c) 2013 Michael Save <savetheinternet@tinyboard.org> +* +* Usage: +* $config['embedding'] = array(); +* $config['embedding'][0] = array( +* '/^https?:\/\/(\w+\.)?(?:youtube\.com\/watch\?v=|youtu\.be\/)([a-zA-Z0-9\-_]{10,11})(&.+)?$/i', +* '<div class="video-container" data-video="$2"><a href="$0" target="_blank" class="file"><img style="width:360px;height:270px;" src="//img.youtube.com/vi/$2/0.jpg"/></a></div>' +); +* $config['additional_javascript'][] = 'js/jquery.min.js'; +* $config['additional_javascript'][] = 'js/youtube.js'; +* +*/ + + +onready(function(){ + var do_embed_yt = function(tag) { + $('div.video-container a', tag).click(function() { + var videoID = $(this.parentNode).data('video'); + + $(this.parentNode).html('<iframe style="float:left;margin: 10px 20px" type="text/html" width="360" height="270" src="//www.youtube.com/embed/' + videoID + '?autoplay=1" frameborder="0"/>'); + + return false; + }); + }; + do_embed_yt(document); + + // allow to work with auto-reload.js, etc. + $(document).bind('new_post', function(e, post) { + do_embed_yt(post); + }); +}); + |
