【问题标题】:why doesn't youtube api javascript code work inside jquery document ready? [closed]为什么 youtube api javascript 代码不能在 jquery 文档中工作? [关闭]
【发布时间】:2012-03-09 19:10:26
【问题描述】:

jQuery 就绪函数之外的 Youtube Javascript API 代码:http://jsbin.com/umituf/1

内部 jQuery 就绪函数:http://jsbin.com/umituf/2

我想使用 jQuery,因为当视频停止 (even === 0) 并调用 loadmore() 方法时,我想在 jQuery 中编写一个 ajax 调用以返回服务器并获取更多视频 ID,以便他们可以进一步传递给cuePlaylist(...) 方法。

为什么我不能将 jQuery 和 API 混合使用,怎么做?

【问题讨论】:

标签: javascript jquery youtube-api


【解决方案1】:

需要在全局范围内定义函数。

http://jsbin.com/umituf/3

编辑澄清:
youtube api 脚本在全局范围内查找这些特定功能。 api 脚本无权访问在 document.ready 回调中创建的范围。

【讨论】:

  • 太棒了。那么我可以将 jQuery 的 .ajax() 方法放在全局空间中吗
  • 你可以,只要确保在元素存在之后访问 DOM 的任何东西都会这样做。如果可能的话,我建议在结束正文标记之前放置 javascript。
【解决方案2】:

您附加到页面的 youtube api js-code 使用全局上下文。您可以将代码放入

$(document).ready(function(){
    window.onYouTubeIframeAPIReady = onYouTubeIframeAPIReady;
});

但最后你必须写这个(*)字符串。

在此之后 onYouTubeIframeAPIReady 函数将能够从全局上下文中进行

【讨论】:

    猜你喜欢
    • 2014-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多