2
我在使用swfObject的網站上嵌入Youtube視頻,所以我可以使用Youtube Player API來操縱它。但是,我正在重寫Coffeescript網站,並且陷入了這個問題。CoffeeScript - 等效JS代碼無法播放嵌入式Youtube視頻
下面是HTML:
<html>
<head>
<meta charset="UTF-8">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type="text/javascript" src="js/swfobject.js">//embedding youtube videos</script>
<script type="text/javascript" src="coffee/test.js"></script>
</head>
<body>
<div id="ytplayer">
<p>You will need Flash 8 or better to view this content.</p>
</div>
</body>
<script type="text/javascript">
var params = { allowScriptAccess: "always" };
swfobject.embedSWF("http://www.youtube.com/v/yeClJneSNXA&enablejsapi=1&playerapiid=ytplayer", "ytplayer", "425", "365", "8", null, null, params);
</script>
</html>
下面的代碼工作:
ytplayer = document.getElementById('ytplayer');
ytplayer.playVideo();
然而,當量(我認爲)的CoffeeScript代碼不:
ytplayer = document.getElementById("ytplayer")
ytplayer.playVideo()
哪個編譯到以下JS:
(function() {
var ytplayer;
ytplayer = document.getElementById("ytplayer");
ytplayer.playVideo();
}).call(this);
它給了我下面的錯誤在Firebug:
ytplayer.playVideo is not a function
return ytplayer.playVideo();
是的代碼是等效的。你如何包括你的咖啡腳本?預編譯,還是通過內聯編譯器? – TimWolla 2012-02-06 19:35:22
我在終端上編譯它並鏈接到js。編輯上面的HTML來顯示包含。 – CHawk 2012-02-06 19:51:13
你看過編譯後的輸出了嗎? – TimWolla 2012-02-06 19:54:48