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 的加载非常好。但是变量是未定义的。我深入研究了谷歌的 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 应该用这个脚本覆盖整个页面内容。但由于某种原因,它没有这样做,这让我发疯了!
不管怎样,我的主要目标是异步加载这个文件。