首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Iron-Router和Facebook Javascript SDK

Iron-Router和Facebook Javascript SDK
EN

Stack Overflow用户
提问于 2014-05-28 14:48:43
回答 2查看 267关注 0票数 0

Iron-router似乎破坏了Facebook Javascript SDK的功能。

我想显示一个弹出窗口,通过它登录的用户可以发送私人消息给他们在Facebook上的朋友。

做完之后

代码语言:javascript
复制
window.fbAsyncInit = ->
    FB.init({appId: fb_app_id, status: true, xfbml: true})

我打电话给

代码语言:javascript
复制
FB.ui({method: 'send', app_id: fb_app_id, to: fb_object.fb_id, link: link, display: 'iframe'}, (response) ->
    ...
)

这在第一次加载路由时效果很好。但是如果我转到另一个路由,然后返回到这个路由,然后尝试调用上面的FB.ui方法,它将失败:

代码语言:javascript
复制
Error
    at Object.<anonymous> (http://connect.facebook.net/en_US/all/debug.js:1787:26)
    at window.FB.__w.signature (http://connect.facebook.net/en_US/all/debug.js:449:20)
    at window.FB.__w.signature (http://connect.facebook.net/en_US/all/debug.js:445:46)
    at window.FB.__w.signature (http://connect.facebook.net/en_US/all/debug.js:445:46)
    at window.FB.__w.signature (http://connect.facebook.net/en_US/all/debug.js:445:46)
    at window.FB.__w.signature (http://connect.facebook.net/en_US/all/debug.js:445:46)
    at window.FB.__w.signature (http://connect.facebook.net/en_US/all/debug.js:445:46)
    at window.FB.__w.signature (http://connect.facebook.net/en_US/all/debug.js:445:46)
    at window.FB.__w.signature (http://connect.facebook.net/en_US/all/debug.js:445:46)
    at window.FB.__w.signature (http://connect.facebook.net/en_US/all/debug.js:445:46) 

是什么导致了这种情况?你是如何绕过它的?

EN

回答 2

Stack Overflow用户

发布于 2015-04-04 22:32:46

更好的解决方案-如果使用Iron Router (您可能应该这样做),请将以下内容添加到您的模板中:

代码语言:javascript
复制
Template.<template-name>.rendered = function() {
    try {
        FB.XFBML.parse();
    }catch(e) {}   
};

请注意,这需要jQuery。

票数 0
EN

Stack Overflow用户

发布于 2014-05-29 12:01:17

我想通了。对于任何有这个问题的人,这里是我如何解决它的。

我把我的<div id='fb-root'></div>元素放在布局模板中。这意味着每次我切换页面或执行路由时,都会重新呈现该元素。我相信Facebook SDK会跟踪该元素,因为FB SDK只初始化一次,如果重新呈现该元素,我猜它会丢失跟踪并失败。

解决方案是将<div id='fb-root'></div>直接放在<body></body>中,这样就不会在每次执行路由时重新呈现它。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23904569

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档