【问题标题】:Gigya button doesn't workGigya按钮不起作用
【发布时间】:2016-07-23 22:11:52
【问题描述】:

我在我的网站中实施了 Gigya。

除了第一个按钮在点击它时没有触发之外,它可以正常工作。

在我的分享栏中,我有 LinkedIN、twitter、google 和 facebook。但是,linkedIn 在第一个按钮时不起作用。

如果我把它移到 twitter 的另一边,它会正常工作,但现在 twitter 不能工作。

只是想看看是否有人遇到过这个问题以及他们是否已解决。

这是我的代码

<script type="text/javascript">
function onLoadHandler()
{
    var userAction = new gigya.services.socialize.UserAction();
    userAction.setTitle("<%=title%>");
    userAction.setDescription("<%=description%>");
    userAction.setLinkBack("<%=currentPage.toString()%>");

    gigya.services.socialize.showShareBarUI({
        containerID: "shareBarUI",
        shareButtons: "linkedin, twitter,googleplus-interactive,facebook,email",
        userAction: userAction,
        showEmailButton: true,      
        emailBody : "I thought you'd like this:<br/><br/>$URL$<br/><br/>$title$<br/><br/>$userMsg$",
        iconsOnly: false,       //iconsOnly: "false"
        showCounts: 'none',     //showCounts: "none"            
        onLoad: function(e)
        {
            var advancedShareProviders = new Array("linkedin", "twitter",  "googleplus-interactive", "facebook");
            var container = $("#" + e.containerID);

            var buttons = $(".gig-button-container", container);
            buttons.each(function(i, button)
            {
                button = $(button);

                var provider;
                $.each(advancedShareProviders, function(i, advancedShareProvider)
                {
                    if(button.hasClass("gig-button-container-" + advancedShareProvider))
                    {
                        provider = advancedShareProvider;
                    }
                });

                if(provider)
                {
                    $(".gig-button", button)
                        .attr("onclick", "")
                        .on("click", function(e)
                        {
                            gigya.socialize.showShareUI({
                                enabledProviders: provider,
                                showMoreButton: false,                              
                                showEmailButton: true,
                                userAction: userAction // Fetched from function scope

                            });
                        });
                }
            });
        }
    });
}
</script>

【问题讨论】:

  • 嗨大力水手,我是 Gigya 的工程师之一,我想我可以帮助你。如果我错了,请纠正我,但看起来您实际上正在尝试做的是 showShareUI() 但您正在使用 shareBarUI() 为您加载这些按钮。这会导致冲突,因为这两种机制应该独立工作,您正在使用一种机制来触发另一种机制。你到底想完成什么?知道这一点,我可以为您指明正确的方向。
  • 嗨 CodeMonkey,我只是想让它工作。我不确定为什么第一个按钮不会触发。如果我进入 Firebug 并编辑 LinkedIn 周围的 HTML 代码并创建一个新空间,按钮将比 fireoff

标签: facebook twitter gigya


【解决方案1】:

当我查看您的代码时,很明显最终结果是在单击任何共享按钮时都会出现共享对话框。这与共享栏 UI 的默认行为不同。默认是执行共享操作。

我建议在这里构建您自己的社交按钮集,并将“onLoad”回调中的事件侦听器附加到您创建的每个按钮。

现在您正在另一个插件中使用一个插件,试图覆盖第一个插件的原始功能,这进入了不稳定的领域,可能是您的问题的原因。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-02
    • 1970-01-01
    • 2014-10-09
    相关资源
    最近更新 更多