javascript - Facebook Like 按钮在使用 jQuery 初始化时不起作用?

标签 javascript jquery facebook facebook-like facebook-javascript-sdk

我正在关注this加载和初始化 facebook SDK 的指南。我检查了控制台,没有发现错误。

$(document).ready(function(){
  $.ajaxSetup({ cache: true });
  $.getScript('//connect.facebook.net/en_US/all.js', function(){
    FB.init({
      appId: 'xxxx'
    });     
  });
});

然后我想添加一个喜欢按钮,如here所述

<div class="fb-like" data-send="true" data-width="450" data-show-faces="true"></div>

这无法在我的网站上显示任何内容,该网站是一个带有 <div id="fb-root"></div> 的裸 Canvas 。是唯一的其他元素。但是,如果我通过纯 JavaScript 初始化 JS SDK,则该按钮可以工作。

为什么使用上面的 jQuery 加载时不起作用?我还需要添加其他内容吗?

最佳答案

如果您阅读 FB.init文档中,有一些参数可以在定义 FB.init 时使用。其中一个参数是 xfbml,其中 -

Determines whether XFBML tags used by social plugins are parsed, and therefore whether the plugins are rendered or not. Defaults to false.

您说过,在纯 JavaScript 的情况下,类似的插件可以工作,因为您必须将 xfbml 设置为 true。要让你的 jquery 代码正常工作,只需将此参数定义为 true,默认情况下为 false -

$.getScript('//connect.facebook.net/en_US/all.js', function(){
    FB.init({
      appId: 'xxxx',
      xfbml: true
    });     

它应该可以工作。祝你好运!

关于javascript - Facebook Like 按钮在使用 jQuery 初始化时不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22876183/

相关文章:

android - Facebook 分享 - 缺少文本

facebook - (#210) 用户不可见的原因是什么

javascript - 如何在ajax调用期间停止表单提交

jquery - 使用 jQuery 和 CodeIgniter 执行客户端和服务器端验证

javascript - 鼠标拖动旋转

javascript - 如何在python中使用真正的jquery从网页中提取数据?

javascript - Bootstrap - 多个工具提示绑定(bind)到同一元素 ("html")

python - 从 Python 访问 Facebook

javascript - 如何管理 Node.js 异步变量作用域?

javascript - 在 JS 中选择第二个提交按钮