Javascript 初始化Twitter小部件时出现偶发错误

Javascript 初始化Twitter小部件时出现偶发错误,javascript,twitter,Javascript,Twitter,在一个网站上,我们运行一个基本的Twitter按钮,90%的时间都可以正常工作。有时初始化失败,错误为:uncaughttypeerror:无法调用未定义的方法“load” 这是执行Twitter初始化的脚本: <script type="text/javascript"> //<![CDATA[ (function() { var twitterScriptTag = document.createElement('script'); twit

在一个网站上,我们运行一个基本的Twitter按钮,90%的时间都可以正常工作。有时初始化失败,错误为:
uncaughttypeerror:无法调用未定义的方法“load”

这是执行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>

解决方案:我通过AJAX在$(document.ready()上加载了一些东西。问题是,当AJAX内容加载速度快于Twitter初始化速度时,它会失败。

问题出在widgets.js文件中,而不是上面的代码中。如果不将“async”设置为
true
,是否会发生这种情况?可能是后来的脚本代码试图在推特代码完全加载之前调用它。@Archer我想你是对的,但有什么问题?@Pointy在将async设置为fals后,我遇到另一个错误->请参阅更新。你不能使用浏览器控制台查看错误发生的位置吗?
'twttr.widgets' is Null or no object