【问题标题】:Twitter widget stops page from rendering in IE 8, anybody know why?Twitter 小部件阻止页面在 IE 8 中呈现,有人知道为什么吗?
【发布时间】:2011-02-11 16:53:56
【问题描述】:

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

这是它给我的错误报告:

网页错误详情

用户代理:Mozilla/4.0(兼容; MSIE 8.0;视窗 NT 5.1;三叉戟/4.0; 媒体中心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 世界标准时间

消息: 'document.getElementsByTagName(...).0' 为 null 或不是对象 Line: 9 Char: 8365 代码:0 URI: http://widgets.twimg.com/j/2/widget.js

有人可以帮忙吗?

【问题讨论】:

    标签: javascript internet-explorer-8 twitter widget


    【解决方案1】:

    问题的解决方法是:

    <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>
    

    解决办法是你的脚本必须在&lt;body&gt;

    【讨论】:

      【解决方案2】:

      问题是一个错误,很容易纠正,正如(恐怖!)the hyphen site 所报告的那样。

      需要注意的是,您必须自己下载并托管“widget.js”文件才能执行此操作 (26.7k),但是,从好的方面来说 - 您可以对original twitter page 不支持。

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

      【讨论】:

      • 链接站点需要登录。这个答案没有用。
      • 有两个链接网站。两者都不需要登录。一个链接挂了,真的。四年半前我回答的时候,这个答案很有用。想要通过显示链接现在的位置来提供帮助,而不是仅仅说没有用?
      【解决方案3】:

      你可能对http://www.webdeveloper.com/forum/showthread.php?t=224530感兴趣

      他们建议将 defer="defer" 添加到加载 widget.js 的脚本标签中,这样在页面完全准备好之前它不会加载。不确定这是否是您的问题的原因,但它可能会有所帮助。

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

      【讨论】:

      • 谢谢,我试过了,但没有帮助。从谷歌搜索看来,某些版本的 IE 与 getElementsByTagName 方法存在问题。将报告调查结果。
      • 脚本标签位于页面底部并带有 async 属性对我有用。我不需要推迟。我的body 标签末尾有&lt;script src="//platform.twitter.com/widgets.js" async&gt;&lt;/script&gt;,但在IE8 中没有出现错误。 Twitter 链接现在可以正常工作了。
      【解决方案4】:

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

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

      http://widgets.twimg.com/j/2/widget.js

      获得 .js 文件后,我使用记事本打开它以查看源代码。需要做的更改很简单,在记事本中使用“查找”命令查找“数组”一词,找到条目后,进行以下更改:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-10-28
        • 1970-01-01
        • 2012-05-25
        • 2020-08-04
        • 1970-01-01
        • 1970-01-01
        • 2010-10-03
        相关资源
        最近更新 更多