多个 Facebook 评论实例

2024-04-26

每当用户使用 JQuery 执行特定操作时,我都需要在页面上加载多个 Facebook 评论框。 (http://developers.facebook.com/docs/reference/plugins/comments/)

如果我要一次加载所有评论字段,我就可以让它工作,但这是不好的编程习惯。

当我尝试按顺序加载评论时,出现第一个评论,但所有后续评论都无法加载。

我创建了一个测试脚本来演示。

Page 1:

<script src='http://code.jquery.com/jquery-1.6.4.min.js'></script>

  <div id='A' align='center' onclick='clickA();'><strong>AAAAAAAAAAAAAAAAAAAAA</strong></div>
  <div id='B' align='center' onclick='clickB();'><strong>BBBBBBBBBBBBBBBBBBBBB</strong></div>
  <div id='C' align='center' onclick='clickC();'><strong>CCCCCCCCCCCCCCCCCCCCC</strong></div>
  <div id='ALL' align='center' onclick='load_all();'><strong>Load ALL</strong></div>

<script>

var facebook_comments_page = 'http://localhost/test2.html';

function clickA(){ 
    $('#A').load( facebook_comments_page);
}

function clickB(){
    $('#B').load(facebook_comments_page);
}

function clickC(){
    $('#A').empty();//not working to remove the dom
    $('#A').detach();//not working to remove the dom
    $('#A').remove();//not working to remove the dom

    $('#C').load(facebook_comments_page );
}

function load_all(){  
  $('#A').load(facebook_comments_page);
  $('#B').load(facebook_comments_page);
  $('#C').load(facebook_comments_page);
}

</script>

第 2 页 - 实际的 Facebook 评论页面 (test2.html):

<script class='fb-comments'>(function(d, s, id) {
    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) return;
    js = d.createElement(s); js.id = id;
    js.src = '//connect.facebook.net/en_US/all.js#xfbml=1';
    fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));</script>


    <div class='fb-comments' data-href='http://example.com' data-num-posts='2' data-width='470' ></div>

在此示例中,如果您最初按 AAAA、BBBB 或 CCCC,则会加载 Facebook 评论页面。但如果您按其余任何一个,它们就不会加载。但是,如果您首先选择“加载全部”,则所有三个都会加载。

对于CCC,我认为如果破坏AAA的内容,那么CCC就会加载。然而,事实并非如此。我认为 JQuery 正在以某种方式杀死后续调用中的脚本内容。

任何帮助将不胜感激!


Chris,我个人尽可能避免使用 jQuery。这是一个独立的示例,它将执行与您相同的操作,但无需 jQuery。

  1. javascript sdk 异步加载,完成并初始化后,将在每个 div 上绘制一个按钮以加载该评论框。
  2. 按下按钮会将 html5 div 加载到 div 中,并且 xfbml 将进行解析。

    <div id="fb-root"></div>
    <div id="cA"></div>
    <div id="cB"></div>
    <div id="cC"></div>
    <div id="cAll"></div>
    <script>
          window.fbAsyncInit = function() {
            FB.init({
        appId  : 'App_ID_HERE',
        status : true, // check login status
        cookie : true, // enable cookies to allow the server to access the session
        xfbml  : true, // parse XFBML
        //channelUrl : 'https://anotherfeed.com/emo/channel.html', // channel.html file
        oauth  : true // enable OAuth 2.0
            });
document.getElementById('cA').innerHTML='<button onclick="commentA();">Load A</button>';
document.getElementById('cB').innerHTML='<button onclick="commentB();">Load B</button>';
document.getElementById('cC').innerHTML='<button onclick="commentC();">Load C</button>';
document.getElementById('cAll').innerHTML='<button onclick="commentA();commentB();commentC();">Load All</button>';
      // Load the SDK Asynchronously
    (function(d, s, id) {
      var js, fjs = d.getElementsByTagName(s)[0];
      if (d.getElementById(id)) return;
      js = d.createElement(s); js.id = id;
      // Add your application id where says App_ID_HERE
      js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=App_ID_HERE";
      fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));

    function commentA(){
    var cb=document.getElementById('cA');
   cb.innerHTML='<div class=\'fb-comments\' data-href=\'http://example.com?page=1\' data-num-posts=\'2\' data-width=\'470\'></div>';
    FB.XFBML.parse(cb);
    };
    function commentB(){
    var cb=document.getElementById('cB');
    cb.innerHTML='<div class=\'fb-comments\' data-href=\'http://example.com?page=2\' data-num-posts=\'2\' data-width=\'470\'></div>';
    FB.XFBML.parse(cb);
    };
    function commentC(){
    var cb=document.getElementById('cC');
    cb.innerHTML='<div class=\'fb-comments\' data-href=\'http://example.com?page=3\' data-num-posts=\'2\' data-width=\'470\'></div>';
    FB.XFBML.parse(cb);
    };
    </script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

多个 Facebook 评论实例 的相关文章

  • 从 html5

    我正在寻找一种方法来根据用户代理字符串将控件属性添加到视频标签 我不希望在 iPad 和 Android 之外的任何浏览器或设备上出现控件属性 所以我认为用户代理是最好的识别方法 因为 ipad 和 android 一词出现在各自的 UA
  • 什么是 TinyMCE jQuery 包?

    我被要求在项目中使用 TinyMCE 编辑器 在下载页面上 有一个主包 然后是一个 jQuery 包 This package contains special jQuery build of TinyMCE and a jQuery in
  • 这个 JQuery 指令做什么 $(function(){...}) [重复]

    这个问题在这里已经有答案了 我最近一直在研究JQuery 尽管我知道一些东西 但书上有这样一句话我根本无法理解 function current entry 1 有谁知道这条线是如何工作的以及它的作用是什么 它类似于 JQuery 函数中的
  • JsGrid 将嵌套对象加载到表中

    我正在 Django 中开发一个 Web 项目并使用 jsGrid 我遇到了问题并且找不到解决方案 我有一个嵌套的 JSON 数据 它是通过组合多个数据库表记录创建的 这是我的 JSON count 3 results personnel
  • Javascript/jQuery 外部高度()

    Does idOfLememt outerHeight 对所有浏览器产生相同的结果 IE7 有什么不同吗 只要去http api jquery com outerHeight http api jquery com outerHeight
  • Fullcalendar 不显示 15 分钟时段的轴时间

    我将全日历设置为有 15 分钟时段 但它没有显示分钟突破 例如 它将显示上午 9 点 上午 10 点 上午 11 点等 但不显示上午 9 点 上午 9 15 上午 9 30 等 它显示了其他时段的分钟突破 例如 10 分钟 但我无法让它工作
  • Jquery POST 获取建议列表

    我有下一个代码 它运行良好 问题是当用户写完单词时 脚本不断创建后调用并不断更改建议列表 我想做一些事情 如果用户继续写一个单词 脚本会停止所有的 post 调用 只执行最后一个 inputString keydown function l
  • $(this) 在 jQuery 中如何工作

    jQuery 标签是如何实现的 this 到底工作吗 我知道如何使用它 但是 jQuery 如何知道哪个元素是 活动的 用于获取当前项目的原始 Javascript 标签是什么 还是只是 jQuery The this是一个简单的 java
  • jquery 文本旋转

    我在 div 中有一个简单的文本 如下所示 div div This is an example text div div 我希望 div 内的文本旋转 20 30 度 我已经找到了this https stackoverflow com
  • jQuery 计算所有文本字段中值的总和

    我有一个订单表单 其中包含大约 30 个包含数值的文本字段 我想计算所有这些模糊值的总和 我知道如何选择所有文本字段 但不知道如何循环它们并添加它们的所有值 document ready function price blur functi
  • 使用jquery在标签中插入'rel'属性

    我先说我是一个 jquery 新手 也就是说 我想使用 jquery 将值为 shadowbox 的 rel 属性插入到 a 在以下代码中标记 div class bibImage title a href target self img
  • clearTimeout 在 javascript 自动完成脚本中不起作用

    我使用以下代码作为自动完成脚本的一部分 以避免每次击键都会对服务器造成影响 var that this textInput bind keyup function clearTimeout that timer that timer set
  • 如何使弹出窗口出现在我的鼠标进入悬停目标的位置?

    这是一个示例代码 用于显示我的按钮下方的弹出窗口 fn popover defaults extend fn tooltip defaults placement bottom content 现在我希望弹出窗口出现在光标移动的位置 不仅是
  • 数据表“footerCallback”函数未在页脚中显示结果

    我尝试获取每列的总和并将结果显示在页脚中 我在用着 页脚回调 https datatables net reference option footerCallbackDatatables提供的功能 但是它在页脚中没有显示任何内容 数据表解释
  • 禁用整个站点的 IE8 加速器

    是的 我知道有类似的问题 https stackoverflow com questions 499565 is it possible to disable ie8 accelerators on my website在 SO 上 但它已
  • 仅隐藏那些选择了空值的选择框

    我只想隐藏那些选择了空值的选择框 我有以下 HTML 和 jQuery div class form item div
  • vs2008 c#:Facebook.rest.api如何使用它来获取好友列表?

    如何在此基础上取得进一步的进步 获取好友列表的下一步是什么 string APIKey ConfigurationManager AppSettings API Key string APISecret ConfigurationManag
  • 为什么这个 jquery 代码不能在黑莓上运行?

    我正在使用 jquerymobile 开发phonegap 应用程序 但在黑莓 9780 中它没有向我显示警报 我的代码是 document addEventListener deviceready run false function r
  • jQuery 价格滑块过滤器

    我已经创建了 jquery 价格滑块 但我不知道如何过滤我的结果 以便在滑动时您只能看到具有该值范围内的产品 HTML div class demo p p div
  • 在 jQuery 中绑定元素及其子元素

    我想将事件绑定到元素及其子元素 做这个的最好方式是什么 element bind click function event doSomething element bind click function event doSomething

随机推荐

  • 带时区的日期时间字符串

    我有一个以通用时间 UTC 形式存储的 DateTime 值2010 01 01 01 01 01 我想以这种格式在 EST 中显示它2010 01 01 04 01 01GMT 04 00 但是时区的 K 格式化程序在 ToString
  • Android Espresso AppNotIdleException 与 Facebook SDK

    当我在清单中添加 Facebook SDK 和 applicationId 时 Espresso 测试不起作用 如果类中有多个测试方法 则错误仅发生在第一个测试上
  • 非矩形形状(五边形或六边形)内的文本

    我想要达到的效果 非常相似的问题 如何将文本环绕在非矩形图像周围 https stackoverflow com questions 9129862 how can i wrap text around a non rectangular
  • Mandrill:渲染模板时条件合并标签不起作用

    我尝试过条件合并标签 即类似 如果 MY NUM 0 发送电子邮件时它按预期工作 但是 当我尝试渲染模板时 给定相同的 global merge vars 和 merge vars IF 合并标记块中的所有内容都保持空白 我得到了渲染的 h
  • 如何在 R 中的绘图区域之外画一条线或添加文本?

    感谢您的阅读 我发现我无法在绘图区域之外绘制线 点或添加文本 如果我从绘图内部 轴内 区域到 xlab 主标题区域绘制一条线 则仅显示绘图内的部分 在多重绘图 mfrow 中 线 点只会在最后一个活动绘图内绘制 plot 0 l locat
  • 在核心文本中查找文本的边界矩形

    我试图在核心文本中找到一行文本的边界 为简单起见 假设它只有一个字符 目前我正在使用以下方法 line CTLineCreateWithAttributedString attrString rect CTLineGetImageBound
  • iTunes Music Store Link Maker — 如何在我的应用程序中进行搜索?

    我正在编写一个音乐参考应用程序 并且对于每张专辑 从 last fm 中提取 都希望链接到 ITMS 如果专辑在商店中 iTunes 链接制作器网络工具http apple com itunes linkmaker http apple c
  • Vuetify - v-data-table 的布局问题

    我的 v 卡上有一个 Vuetify v data table 但我无法获得正确的布局 所以它是一个可配置的 2x2 布局 并且应该使用分页 无滚动
  • 在 iOS 6.0 中设置状态栏方向[重复]

    这个问题在这里已经有答案了 可能的重复 setStatusBarOrientation 动画 在 iOS 6 中不起作用 https stackoverflow com questions 12563954 setstatusbarorie
  • 如何用不同颜色绘制一条线

    我有两个列表如下 latt 42 0 41 978567980875397 41 96622693388357 41 963791391892457 41 972407378075879 lont 66 706920989908909 66
  • 自然排序 WordPress 帖子标题(按字母顺序和数字)?

    有没有可能的方法按标题对新的 WordPress 帖子查询进行排序 但按数字而不是按字母顺序排序 我有一些标题有很多按字母顺序相同的名称 然后有一个数字 所以当然 例如 WordPress 正在放置title12在之前title1 args
  • 使用 Orchard HQL API 将非 ContentPart 表连接到 ContentPart 表

    我正在尝试使用 Orchard HQL API 在两个不同的表之间执行简单的联接 问题是其中一个表不是 ContentPartTable 这可能吗 这是常规 SQL 中的样子 Select From ItemPartRecord Join
  • 如何使自定义 django 迁移可逆?

    我最初的问题是 给定一个包含 60M 行的数据库表 我需要将字段类型从布尔字段转换为整数字段 我想为此创建一个自定义的 django 迁移 如果您有比这更好的方法 请告诉我 如下所示 def make changes apps schema
  • HTML 页面中的目录选择器

    如何在 html 页面中创建目录选择器 如果我使用输入文件元素 我只能选择文件 但我需要选择目录 我需要这样做 因为用户应该在他的计算机内选择正确的路径 有什么解决办法吗 试试这个 我想它会对你有用
  • 有没有C语言的跨平台GUI库? [复制]

    这个问题在这里已经有答案了 可能的重复 GUI 应用程序的跨平台 C 库 https stackoverflow com questions 2018850 cross platform c library for gui apps 有没有
  • XMPP会议室邀请函

    在我的聊天应用程序中 我想实现群聊功能 同样 我想创建房间并向我的朋友发送加入房间的邀请 这是我加入并邀请朋友进入房间的代码 创建房间 Create Room btn CreateRoom Button findViewById R id
  • LLDB 给出局部变量的“使用未声明的标识符”错误

    在以下函数中 我无法在 LLDB 中看到 recordMap for 循环打印键 recordType 设置正确 但 p recordMap 给出错误 使用未声明的标识符 我可以在 LLDB 中很好地看到变量 recordType 所以我处
  • python 和 pandas - 如何使用 iterrows 访问列

    wowee 如何将 iterrows 与 python 和 pandas 一起使用 如果我进行行迭代 我是否应该无法使用 row COL NAME 访问 col 以下是列名称 print df Int64Index 152 entries
  • .net 中什么是类型安全?

    什么是类型安全 它是什么意思以及为什么它很重要 如果你问 类型安全 的概念是什么general意味着 它是代码的特征 允许开发人员确定某个值或对象将表现出某些属性 即属于某种类型 以便他 她可以以特定方式使用它 而不必担心意外或未定义的情况
  • 多个 Facebook 评论实例

    每当用户使用 JQuery 执行特定操作时 我都需要在页面上加载多个 Facebook 评论框 http developers facebook com docs reference plugins comments 如果我要一次加载所有评