使用Facebook Like插件传递encodeURIComponent(window.location.href),作为“data-href”

时间:2013-08-01 21:51:21

标签: javascript facebook facebook-javascript-sdk

我不确定我的Facebook Like插件存在多长时间,但我正在使用

'data-href': encodeURIComponent(window.location.href)

在用户点击按钮时将网址传递给“赞”。出于某种原因,Like按钮没有显示,但如果我使用像“http://www.google.com”这样的普通网址,它会显示出来。不确定问题是什么,因为它之前工作正常,并且暂时没有触及任何代码。

以下是我的其余代码:

var fbLikeButton = $('#socialMedia-facebookLike');
        if (fbLikeButton.length) {

            var fbLikeButtonDiv = $('<div/>', {
                'class': 'fb-like',
                'data-href': encodeURIComponent(window.location.href),
                'data-send': 'false',
                'data-layout': 'button_count',
                'data-width': '90',
                'data-show-faces': 'false'
            });

            fbLikeButton.append(fbLikeButtonDiv);
        }

        var fbCurrentUrlArray = window.location.href.split('/');
        var fbChannelUrl = fbCurrentUrlArray[0] + '//' + fbCurrentUrlArray[2] + '/vgn-ext-templating/html/fbChannel.html';

        //fb like button script
        $('body').prepend('<div id="fb-root"></div><script>window.fbAsyncInit = function () {FB.init({xfbml: true, channelURL: "' + fbChannelUrl + '"});};(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"; fjs.parentNode.insertBefore(js, fjs);}(document, \'script\', \'facebook-jssdk\'));</script>');

1 个答案:

答案 0 :(得分:0)

为什么你有encodeURIComponent?在这种情况下,它没有意义。

待办事项

'data-href': window.location.href,