youtube-video
Advanced tools
Comparing version 0.0.0 to 0.0.1
44
index.js
@@ -1,35 +0,19 @@ | ||
var loadScript = require("load-script"); | ||
var sdkLoadQueue = require('pubsub')(); | ||
var isSDKLoading = false; | ||
var isSDKLoaded = false; | ||
var sdk = require('require-sdk')('https://www.youtube.com/iframe_api', 'YT'); | ||
var loadTrigger = sdk.trigger(); | ||
loadSDK(); | ||
window.onYouTubeIframeAPIReady = function () { | ||
loadTrigger(); | ||
delete window.onYouTubeIframeAPIReady; | ||
}; | ||
module.exports = play; | ||
function loadSDK (callback) { | ||
if (isSDKLoaded) { | ||
return callback && callback(); | ||
} | ||
callback && sdkLoadQueue(callback); | ||
if (isSDKLoading) return; | ||
isSDKLoading = true; | ||
loadScript('https://www.youtube.com/iframe_api'); | ||
window.onYouTubeIframeAPIReady = function() { | ||
isSDKLoaded = true; | ||
sdkLoadQueue.publish(); | ||
delete window.onYouTubeIframeAPIReady; | ||
} | ||
} | ||
function play (selector, id, options, callback) { | ||
var player; | ||
var api; | ||
loadSDK(function () { | ||
player = new YT.Player(selector, { | ||
sdk(function (error, youtube) { | ||
api = youtube; | ||
player = new api.Player(selector, { | ||
height: options.height, | ||
@@ -55,11 +39,11 @@ width: options.width, | ||
function onPlayerStateChange (event) { | ||
if (event.data == YT.PlayerState.PLAYING && options.onPlay) { | ||
if (event.data == api.PlayerState.PLAYING && options.onPlay) { | ||
options.onPlay(event.target); | ||
} | ||
if (event.data == YT.PlayerState.ENDED && options.onEnd) { | ||
if (event.data == api.PlayerState.ENDED && options.onEnd) { | ||
options.onEnd(event.target); | ||
} | ||
if (event.data == YT.PlayerState.PAUSED && options.onPause) { | ||
if (event.data == api.PlayerState.PAUSED && options.onPause) { | ||
options.onPause(event.target); | ||
@@ -66,0 +50,0 @@ } |
{ | ||
"name": "youtube-video", | ||
"version": "0.0.0", | ||
"version": "0.0.1", | ||
"description": "Minimalistic API to play Youtube videos", | ||
@@ -10,4 +10,3 @@ "main": "index.js", | ||
"dependencies": { | ||
"load-script": "*", | ||
"pubsub": "0.0.5" | ||
"require-sdk": "0.0.0" | ||
}, | ||
@@ -14,0 +13,0 @@ "devDependencies": { |
@@ -12,6 +12,11 @@ ## youtube-video | ||
controls: false, | ||
onPaused: function () {} | ||
onPlay: onPlay, | ||
onEnd: onEnd, | ||
onPause: onPause | ||
}) | ||
``` | ||
* Demo: http://requirebin.com/embed?gist=6774318 | ||
* Source code: http://requirebin.com/?gist=6774318 | ||
## Install | ||
@@ -34,3 +39,5 @@ | ||
controls: false, | ||
onPaused: function () {} | ||
onPause: onPause, | ||
onPlay: onPlay, | ||
onEnd: onEnd | ||
}, onReady) | ||
@@ -37,0 +44,0 @@ |
Sorry, the diff of this file is not supported yet
Floating dependency
QualityPackage has a dependency with a floating version range. This can cause issues if the dependency publishes a new major version.
Found 1 instance in 1 package
1
1
47
2580
42
+ Addedrequire-sdk@0.0.0
+ Addedrequire-sdk@0.0.0(transitive)
- Removedload-script@*
- Removedpubsub@0.0.5