【问题标题】:Why I get this infinite-calling-cycle?为什么我得到这个无限调用循环?
【发布时间】:2012-04-04 02:23:48
【问题描述】:

这是我的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 消息...

【问题讨论】:

  • 这里没有奇怪的行为。您在哪个浏览器中看到它?
  • 我看到这个:“尝试在已清除的范围内运行 compile-and-go 脚本”这是您所说的奇怪行为吗? (火狐和萤火虫)
  • 是的 PoweRoy...它仍然调用该函数...并且小部件没有显示...
  • 天哪!请注意,这只发生在 Firefox...(10)...arghh..

标签: jquery firefox twitter


【解决方案1】:

twitter 小部件使用document.write 语句。在 已加载 的页面上执行 document.write 会清空文档,因此会出现错误 -- demo here。我的两分钱:FireFox 做得对。

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

【讨论】:

  • 你拯救了我的一天 :) 谢谢!另外:为什么你的例子没有widgets.twimg.com/j/2/widget.js? :O
  • 确实需要 twitter 小部件;查看管理资源部分下小提琴中的左侧列(或查看结果框架的源代码)。
  • 好吧,之前没看过那个部分!谢谢……一切都很完美!不幸的是,这种方式在小部件中没有得到一些 CSS 样式,在 IE7+ 上,奇怪......
  • 似乎小部件无法在 IE 中创建 &lt;style&gt; 元素。尝试使用 CSS/jQuery 指定背景颜色。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-31
  • 2021-06-20
  • 1970-01-01
  • 2020-08-08
相关资源
最近更新 更多