我正在尝试在使用Require JS定义的模块中使用Youtube Iframe API。由于该API是异步加载并在加载后调用函数,因此我使用了一个名为“async”的requireJS插件,该插件之前与google maps api一起使用过。
然而,这一次出现了问题。我的模块以以下方式开始:
谢谢您的关注和帮助 :)
然而,这一次出现了问题。我的模块以以下方式开始:
define(['text!fmwk/widgets/video/video.html','fmwk/utils/browser','async!http://www.youtube.com/iframe_api'], function (videoTpl,root) { ... });
Chrome控制台会报错:
Uncaught Error: Load timeout for modules: async!http://www.youtube.com/iframe_api_unnormalized3,async!http://www.youtube.com/iframe_api
http://requirejs.org/docs/errors.html#timeout
如果我不使用async插件,则YT对象或其函数未定义,如果我下载API代码也是同样的情况。如果将脚本标签放在html文件的head标签中,有时会加载API。所有这些都是预期的,但我不理解为什么async插件会失败。谢谢您的关注和帮助 :)