はじめのてcoffeescript、youtube javascript apiではまる by onYouTubePlayerReady
rails3.2はcoffeescriptデフォルトってことではじめて使ってみたらはまった
こう書いたら
onYouTubePlayerReady = (playerId) -> alert "playerId: #{playerId}"
こうなって
var onYouTubePlayerReady; onYouTubePlayerReady = function(playerId) { return alert("playerId: " + playerId); };
varいらないと思いグーグル先生に聞いたらwindowつけなさいと
window.onYouTubePlayerReady = (playerId) -> alert "playerId: #{playerId}"
先生ありがとう
最終的には、これが
function onYouTubePlayerReady(playerId) { ytplayer = document.getElementById("myytplayer"); ytplayer.addEventListener("onStateChange", "onytplayerStateChange"); } function onytplayerStateChange(newState) { alert("Player's new state: " + newState); } var params = { allowScriptAccess: "always" }; var atts = { id: "myytplayer" }; swfobject.embedSWF("http://www.youtube.com/v/4TQ-nY6EB5U?enablejsapi=1&playerapiid=ytplayer", "ytapiplayer", "425", "356", "8", null, null, params, atts);
こうなった
(function() { $(function() { var atts, params; params = { allowScriptAccess: "always" }; atts = { id: "myytplayer" }; return swfobject.embedSWF("http://www.youtube.com/v/4TQ-nY6EB5U?enablejsapi=1&playerapiid=ytplayer", "ytapiplayer", "425", "356", "8", null, null, params, atts); }); window.onYouTubePlayerReady = function(playerId) { window.ytplayer = document.getElementById("myytplayer"); return ytplayer.addEventListener("onStateChange", "onytplayerStateChange"); }; window.onytplayerStateChange = function(newState) { return alert("Player's new state: " + newState); }; }).call(this);