当前位置: 首页 > 面试题库 >

如何在AJAX驱动页面上添加Facebook“赞”按钮

颛孙星海
2023-03-14
问题内容

我已经拖网和堆栈溢出,但找不到这个问题的适当答案。在开始尝试寻找自己的解决方案的尝试和错误过程之前,我认为我应该转向Stack
Overflow机构,以查看是否已经成功实现。

我有一个AJAX驱动的页面,对于非JavaScript浏览器和SEO,该页面可以正常降级。AJAX版本中的每次点击都可以由唯一的URL表示。

我想做的是动态更改按钮的HREF。我确实知道该标记会在运行时转换为标准HTML(即转换为讨厌的表格/ iframe布局)。

我只是想知道是否有人对如何在AJAX驱动的页面上实现类似FB的按钮有任何见解?

提前加油:)

编辑:

您如何看待我刚刚一起尝试过的这种方法?看到有什么大问题吗?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>

    <script src="JS/jquery/jquery.js" type="text/javascript"></script>
    <script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>

    <script language="javascript" type="text/javascript">
        $("document").ready
        (
            function ()
            {
                CreateNewLikeButton("http://www.yahoo.com")

                $("a#ChangeToGoogle").click
                (
                    function (e)
                    {
                        e.preventDefault();
                        CreateNewLikeButton("http://www.google.ca")
                    }
                );

            }
        );

        function CreateNewLikeButton(url)
        {
            var elem = $(document.createElement("fb:like"));
            elem.attr("href", url);
            $("div#Container").empty().append(elem);
            FB.XFBML.parse($("div#Container").get(0));
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <a id="ChangeToGoogle" href="#">Change To Google</a>
    <div id="Container">
        <fb:like href="http://www.NEVER_LINK_TO_THIS_12345.com"></fb:like>
    </div>
    </form>
</body>

</html>

问题答案:

简单的解决方案

加载完成后,只需进行解析即可触发解析函数

如果您使用的是jQuery,则有一个解决此问题的简便易行的解决方案:

$(document).ajaxComplete(function(){
    try{
        FB.XFBML.parse(); 
    }catch(ex){}
});

http://developers.facebook.com/docs/reference/plugins/like/



 类似资料:
  • 问题内容: 我已经通过Ajax调用通过隐藏的iframe读取了Facebook加载页面的地方…这是真的吗? 问题答案: Facebook使用他们称为BigPipe的东西,它将页面分成一堆小小的“小页面”,这些小页面分别通过AJAX加载。 在下图中,浅蓝色突出显示的区域是单个的小页面。

  • 本文向大家介绍使用jQuery在移动页面上添加按钮和给按钮添加图标,包括了使用jQuery在移动页面上添加按钮和给按钮添加图标的使用技巧和注意事项,需要的朋友参考一下 创建按钮 data-role=button 给HTML元素添加 data-role="button" 属性。jQuery Moble就会给此元素增强为按钮样式。 Jquery Mobile框架包含了一组最常用的移动应用程序所需的图标

  • 我正在使用Laravel 5.4。 1)我添加网站。在这里输入图像描述 现在一切都好了。 2)尝试在facebook上打开网站,得到这个错误在这里输入图像描述 哎呀,好像出了什么事。 1/1方法不允许RouteCollection中出现HttpException。php第233行 Symfony\Component\HttpKernel\Excelie\在RouteCollection.php行2

  • 问题内容: 在我的index.html页面中,我想在加载应用程序时加载一个单独的Ajax页面,最好的方法是什么?这是我的索引代码: 在这里加载ajax子页面..... 子页面就是: 内容.............. 谢谢。 问题答案: 使用JavaScript可以做到这一点。您必须在页面加载时执行此操作。这是jQuery中的示例。

  • 问题内容: 为了使IM Client始终保持登录状态,Facebook通过在将页面插入文档之前使用AJAX加载页面来避免整个页面加载。 但是,在Facebook AJAX请求期间,浏览器似乎正在加载。重新加载按钮变为X,浏览器中内置的进度指示器指示正在加载/正在等待等) 我已经能够成功实现基于AJAX的导航,但是我的浏览器没有显示任何加载迹象(由于请求是异步的),Facebook如何做到这一点?

  • 问题内容: 如何在Android中动态添加按钮? 问题答案: