1

我在使用 !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');
}
4

1 回答 1

2

我已经解决了这个问题并将解决方案提供回插件的存储库。 https://github.com/millermedeiros/requirejs-plugins/pull/39

于 2013-10-16T21:21:31.057 回答