0

我在我的网站上实施了 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>
4

1 回答 1

0

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

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

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

于 2014-12-17T23:09:30.620 回答