为什么我得到这个无限循环?

时间:2012-03-19 15:24:28

标签: jquery firefox twitter

这是我的code

<script type="text/javascript" src="http://widgets.twimg.com/j/2/widget.js"></script>
<a id="renderPI" href="javascript:void(0);">Render Plugin</a>

$('#renderPI').click(function () {
    new TWTR.Widget({
        version: 2,
        type: 'profile',
        rpp: 4,
        interval: 30000,
        width: 650,
        height: 202,
        theme: {
            shell: {
                background: '#7ee1fc',
                color: '#2e2e2e'
            },
            tweets: {
                background: '#ffffff',
                color: '#949494',
                links: '#009ece'
            }
        },
        features: {
            scrollbar: true,
            loop: false,
            vlive: false,
            hashtags: true,
            timestamp: true,
            avatars: false,
            behavior: 'all'
        }
    }).render().setUser('google').start();    
});

当我尝试渲染Twitter Widget时,如果你检查JS控制台,你会看到奇怪的行为!为什么?我该如何解决?

编辑似乎问题仅出现在Firefox上?我收到了大量的attempt to run compile-and-go script on a cleared scope消息......

1 个答案:

答案 0 :(得分:1)

twitter小部件使用document.write语句。在加载的页面上执行document.write会清空文档,从而导致错误 - demo here。我的两分钱:FireFox正在做正确的事。

解决方法是告诉TWTR小部件避免使用document.write,而是使用DOM操作。只需创建一个空的DIV,并将其id id参数传递给TWTR小部件 - demo here