在网站上我们运行一个基本的Twitter按钮,90%的时间都能正常工作。偶尔初始化失败,错误为:Uncaught TypeError: Cannot call method 'load' of undefined
。
这是执行Twitter初始化的脚本:
<script type="text/javascript">
//<![CDATA[
(function() {
var twitterScriptTag = document.createElement('script');
twitterScriptTag.type = 'text/javascript';
twitterScriptTag.async = true;
twitterScriptTag.src = document.location.protocol + '//platform.twitter.com/widgets.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(twitterScriptTag, s);
})();
//]]>
</script>
有人可以暗示为什么会这样吗?
更新:设置async = false
后,我收到以下错误:
'twttr.widgets' is Null or no object
解决方案:我在$(document).ready()上通过AJAX加载一些东西。问题是,当AJAX内容加载速度超过Twitter初始化时,它就会失败。