使用!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或类似的(取决于第二个之后的设置!) 这可能意味着onYouTubeIfraneAPIready()上的回调函数永远不会被调用,或者!async插件不知道它。
这可能意味着永远不会调用回调函数。如果我自己定义了回调函数它可以工作..但仍然会收到超时错误。
window.onYouTubeIframeAPIready = function () {
console.log('youtube api usual callback');
}
答案 0 :(得分:2)
我已经解决了这个问题并将解决方案提供回插件的存储库。 https://github.com/millermedeiros/requirejs-plugins/pull/39