Youtube の Videobar は時代遅れのウィジェットです。Google は引き続き js を提供していますが、ドキュメントとリンクはサイトから削除されています。この実行例は、sicmaui.com (右側、YouTube タブ) で見ることができます。
現在、htmlのスクリプトタグを使用してロードされています
<script src="http://www.google.com/uds/api?file=uds.js&v=1.0&source=uds-vbw" type="text/javascript"></script>
GSearch.setOnLoadCallback(somefunction); //works
しかし、次のコードを使用してこれをロードしようとすると機能しません
var $script = $('<script></script>').attr('src', src).bind('load', function(){
GSearch.setOnLoadCallback(somefunction); //GSearch is undefined
});
$('head')[0].appendChild($script[0]);
これで、js が完全に正常にロードされます。しかし、変数は定義されていません。Google の js を掘り下げたところ、後でこのコードを使用して別の js ファイルを読み込んでいることがわかりました。
google.loader.writeLoadTag("script", google.loader.ServiceBase + "/api/search/1.0/8c68537a8c14de310f268bd7f81c9c67/default+en.I.js", false);
呼び出しを行う (「n」はドキュメントに等しい)
n.write('<script src="' + b + '" type="text/javascript"><\/script>')
理想的には、この js はページ コンテンツ全体をこのスクリプトで上書きする必要があります。しかし、何らかの理由でそうではなく、これは私を夢中にさせています!
いずれにせよ、私の主な目標は、このファイルを非同期的にロードすることです。