2016-04-26 58 views
0

我一直试图执行FB.XFBML.parse();来重新加载所有Facebook社交插件。我可以在Template.sample.events({})中成功执行它,但不能在Template.sample.onRendered()Template.sample.rendered中收到错误,说明FB未定义。我的代码如下:FB.XFBML.parse()在渲染过程中失败

Template.sample.onRendered(function() { 
    FB.XFBML.parse(); 
}); 

OR

Template.sample.rendered = function() { 
    FB.XFBML.parse(); 
} 

我如何可以执行FB.XFBML.parse();每次模板加载?

回答

0

刚刚用try-catch块封装了该方法。注意到对于rendered被多次调用。第一次传球失败,表示在后续传球成功时FB未定义。

Template.sample.rendered = function() { 
    try { 
     FB.XFBML.parse(); 
    } catch (e) { 
     // Will normally crash but succeeding execution will be successful 
    } 
}