我在使用 !async 插件加载 YouTube Iframe API 时遇到了一点麻烦,感谢您的帮助!
地图示例有效,所以我目前假设基本设置必须没问题:
define('something', [
'async!http://maps.google.com/maps/api/js?sensor=false'
], function () { console.log('loaded..'); }
);
// doesn't work
define('something', [
'async!https://www.youtube.com/iframe_api!callback'
], function () { console.log('loaded..'); }
);
// doesn't work
define('something', [
'async!https://www.youtube.com/iframe_api!onYouTubeIframeAPIready'
], function () { console.log('loaded..'); }
);
// doesn't work
define('something', [
'async!https://www.youtube.com/iframe_api'
], function () { console.log('loaded..'); }
);
他们都给我带来了未捕获的错误:模块加载超时:异步!https://www.youtube.com/iframe_api!onload_unnormalized2,async!https://www.youtube.com/iframe_api!onload http://requirejs.org/docs/errors.html#timeout 或类似(取决于设置在第二个之后!),这可能意味着永远不会调用 YouTubeIfraneAPIready() 上的回调函数,或者 !async 插件不知道它。
这可能意味着永远不会调用回调函数。如果我自己定义了回调函数,它可以工作..但仍然出现超时错误。
window.onYouTubeIframeAPIready = function () {
console.log('youtube api usual callback');
}