我正在尝试在 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
如果我不使用异步插件,则对象 YT 或其函数是未定义的,如果我下载 API 代码也会发生同样的情况。如果我将脚本标记放在 html 文件的头标记中,有时会加载 API。这一切都是意料之中的,但我不明白,因为异步插件失败了。
感谢您的关注和帮助:)