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