javascript - 如何动态加载 facebook 之类的按钮?

标签 javascript jquery facebook-graph-api

我正在构建一个应用程序,通过搜索在主页上加载一些产品。加载后单击每个产品项目后,它会显示小弹出窗口,并显示特定产品的按钮和评论提要,我编写了这样的代码。

function renderFBWidgets() {
        window.fbAsyncInit = function () {
            FB.init({ appId: '165987850132000', status: true, cookie: true, xfbml: true
            });
        };
        (function () {
            var e = document.createElement('script'); e.async = true;
            e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
            document.getElementById('fb-root').appendChild(e);
        } ());
        var u = //get product url
        $('.productlist').append('<div style="margin-left: 30px;"><fb:like href="' + u + '" send="true" layout="standard" width="430" show_faces="false" action="like" colorscheme="light"></fb:like></div>');
}

但是每次我点击产品时,facebook 都会初始化所有脚本,有什么好的方法可以动态加载按钮吗?

谢谢

最佳答案

所有“赞”按钮都在 iframe 中呈现。如果您使用 XFBML 方法,Facebook 的 all.js 脚本会找到 <fb:like>页面上的标记并为每个标记创建一个 iframe。如果您添加 <fb:like>脚本运行后标记,你需要运行FB.XFBML.parse处理该标记并生成其 iframe。

另一种选择是将新的“赞”按钮附加为 iframe。请务必取消选中 Facebook's button generator 中的“发送按钮”选项.但是,使用这种方法,您将失去发送按钮,并且只能获得至少 400 像素宽的标准布局的评论。

关于javascript - 如何动态加载 facebook 之类的按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6479753/

相关文章:

javascript - 将带有复选框的列动态添加到表单中的html表

php - 使用 JQuery、AJAX 和 php 创建 JSON 数据

javascript - 用于嵌套 div 的 Jquery .animate

facebook publish_actions - friend 的 friend 的默认可见性

swift - 下载高分辨率个人资料图片 Facebook Graph API

javascript - 我如何在 axios 拦截器中重定向?

javascript - AngularJS UI Bootstrap 合并两个进度条

javascript - 集成 GWT 和 angular2

javascript - Node.JS、ExpressJS、React 和 HTML JSON 渲染

facebook - 申请 Facebook 页面