この (機能している) クライアント側の js コードを meteor 内で動作させる方法を理解するのに苦労しています (theVideo 変数は、画面上の入力要素のテンプレート イベント中に引き出されます)。
<script type="text/javascript" src="swfobject/swfobject.js"></script>
<div id="ytapiplayer">
You need Flash player 8+ and JavaScript enabled to view this video.
</div>
<script type="text/javascript">
theVideo = 'tAbCgr6jJ_0';
if(theVideo != 'null'){
var params = { allowScriptAccess: "always" };
var atts = { id: "myytplayer" };
swfobject.embedSWF("http://www.youtube.com/v/"+theVideo+"?enablejsapi=1&playerapiid=ytplayer&version=3",
"ytapiplayer", "325", "256", "8", null, null, params, atts);
}
function onYouTubePlayerReady(playerId) {
ytplayer = document.getElementById("myytplayer");
ytplayer.playVideo();
}
</script>
(この html/javascript の) DOM インジェクションによってスクリプトをロードしようとしても機能しません。swfobject スクリプトは、ローカル ホストとリモート ホストの両方からロードされないようです。
スクリプト (swfobject.js) をプロジェクト ルート (リーダーボードの例) に追加すると、アプリの起動時 (ターミナル出力内) に「ReferenceError: ウィンドウが定義されていません」が発生します。
このコードは、通常の HTML ページ内のクライアント側で正常に動作し、スクリプトをロードします。
古い (2009) リポジトリで、起動時にクラッシュしないライブラリを見つけましたが、'swfobject' not found エラーがポップアップ表示されました。
回避策に関するアイデアはありますか? このコードをテンプレート イベント内に配置しても機能しませんでした。swfobject のロードが常に問題のようです。