Javascript Twitter小部件阻止页面在IE8中呈现,有人知道为什么吗?

Javascript Twitter小部件阻止页面在IE8中呈现,有人知道为什么吗?,javascript,internet-explorer-8,twitter,widget,Javascript,Internet Explorer 8,Twitter,Widget,该小部件在Firefox中运行良好,但它完全阻止页面在IE8中呈现 这是它给我的错误报告: 网页错误详细信息 用户代理:Mozilla/4.0(兼容; MSIE8.0;WindowsNT5.1;Trident/4.0; Media Center PC 3.0;.NET CLR 1.0.3705;.NET CLR 1.1.4322;.NET CLR 2.0.50727;.NET CLR 3.0.04506.30;.NET CLR 3.0.04506.648;.NET CLR 3.0.4506.21

该小部件在Firefox中运行良好,但它完全阻止页面在IE8中呈现

这是它给我的错误报告:

网页错误详细信息

用户代理:Mozilla/4.0(兼容; MSIE8.0;WindowsNT5.1;Trident/4.0; Media Center PC 3.0;.NET CLR 1.0.3705;.NET CLR 1.1.4322;.NET CLR 2.0.50727;.NET CLR 3.0.04506.30;.NET CLR 3.0.04506.648;.NET CLR 3.0.4506.2152;.NET CLR 3.5.30729)时间戳:2010年4月23日星期五20:12:25 UTC

信息: 'document.getElementsByTagName(…).0' 是否为空或不是对象行:9个字符: 8365代码:0 URI:


有人能帮忙吗?

你可能会感兴趣

他们建议在加载widget.js的脚本标记中添加defer=“defer”,以便在页面完全就绪之前不会加载。不确定这是否是问题的原因,但这可能会有所帮助

<script defer="defer" src="http://widgets.twimg.com/j/2/widget.js" type="text/javascript"></script>

正如(恐怖!)所报告的,问题是一个很容易纠正的bug

需要注意的是,您必须自己下载并托管“widget.js”文件才能做到这一点(26.7k),但是,从好的方面来说,您可以对widget进行细粒度的更改,而widget不支持这种更改


这在IE8中对我有效。我收到了“对象不支持此属性或方法”js错误。

我在Microsoft Internet Explorer 8上运行Twitter列表小部件时也遇到问题。小部件将出现,但内部没有信息流。它可以在FireFox或其他浏览器中正常工作,但在IE中不行。我发现的问题是Twitter widget.js文件从他们提供给我粘贴到我的网站的源中调用

Twitter服务器上的实际.js文件中有一个错误,不允许IE浏览器显示流。我能够相当简单地解决这个问题。我通过在浏览器中粘贴路径下载了.js文件:

一旦我有了.js文件,我就用记事本打开它来查看源代码。需要进行的更改很简单,使用记事本中的“Find”命令查找单词“array”,当它找到条目时,进行以下更改:

将widget.js文件中显示“Array.forEach”的条目更改为“Array.prototype.forEach”

通过添加“原型”一词,您现在已经纠正了他们的错误。当然,你不能将文件上传到他们的服务器上,所以只要把它放在你网站上的一个目录中,直接通过改变Twitter生成的源文件中的路径指向你网站上的.js文件新位置就可以了

我希望这有帮助!祝你有美好的一天! 布莱恩J。
www.EnjoyTheCove.com

问题的解决方案是:

<script type="text/javascript" src="2.js"></script>
<body>
<script type="text/javascript">
 new TWTR.Widget({
  version: 2,
  type: 'search',
  search: 'hakarito',
  interval: 6000,
  title: 'what people say about...',
  subject: 'Botball Online',
  width: 250,
  height: 300,
  theme: {
    shell: {
       background: '#007CC2',
       color: '#FFFFFF'
    },
    tweets: {
      background: '#000000',
      color: '#ffffff',
      links: '#f59f00'
    }
  },
  features: {
    scrollbar: false,
    loop: true,
    live: true,
    hashtags: true,
    timestamp: true,
    avatars: true,
    toptweets: true,
    behavior: 'default'
  }
}).render().start();
</script> 
</body>

新TWTR.Widget({
版本:2,
键入:“搜索”,
搜索:“hakarito”,
间隔时间:6000,
标题:“人们对……的看法”,
主题:“僵尸球在线”,
宽度:250,
身高:300,
主题:{
外壳:{
背景:“#007CC2”,
颜色:“#FFFFFF”
},
推特:{
背景:“#000000”,
颜色:“#ffffff”,
链接:“#f59f00”
}
},
特点:{
滚动条:false,
循环:对,
现场直播:没错,
hashtags:true,
时间戳:对,
阿凡达:没错,
toptweets:没错,
行为:“默认”
}
}).render().start();


解决方案是您的脚本必须在

中。谢谢,我试过了,但没有用。通过谷歌搜索,IE的某些版本似乎在getElementsByTagName方法上存在问题。将报告结果。将脚本标记放在页面底部并使用async属性对我来说很有用。我不需要推迟。我在我的
正文
标记的末尾有
,我没有在IE8中得到错误。Twitter链接现在可以正常工作。链接的站点需要登录。这个答案没有用。有两个链接站点。两者都不需要登录。有一个链接断了,没错。四年半前,当我回答这个问题时,这个答案是有用的。想通过显示链接现在的位置而不是仅仅说一些没有用的东西来提供帮助吗?