0

Facebook SDK と jQuery の両方を使用しています... 何らかの理由で、Facebook SDK の読み込みにより$、jQuery オブジェクトとして機能しなくなりました。すべての jQuery 呼び出しは引き続き機能しますが、jQuery代わりに使用する必要があり$ます ... 以下の例を参照してください。また、フッターには jQuery のような他のコードもあり、$そこでも機能しません。すべてが完璧に機能しますが、私はこれが嫌いで、jQuery のショートカットとして使用できるようにしたいです! $どうすれば$背が伸びますか?

<script type='text/javascript' src='http://x.com/wp-includes/js/jquery/jquery.js?ver=1.10.2'></script>

<script>
window.fbAsyncInit = function () {
    FB.init({  // (this code straight from FB developer docs)
        appId: '1234123412341234',
        channelUrl: '//mysite.com/channel.html',
        status: true,
        cookie: true,
        xfbml: true
    });

    function checkLoginStatus(response) {
        if(response && response.status == 'connected') {
            jQuery('#login-btn').hide();
            jQuery('#logout-btn').show();
            console.log('User ID: ' + response.authResponse.userID);
        } else {
            jQuery('#login-btn').show();
            jQuery('#logout-btn').hide();
        }
    }

// Load the SDK asynchronously (this code straight from FB developer docs)
(function (d) {
    var js, id = 'facebook-jssdk',
        ref = d.getElementsByTagName('script')[0];
    if (d.getElementById(id)) {
        return;
    }
    js = d.createElement('script');
    js.id = id;
    js.async = true;
    js.src = "//connect.facebook.net/en_US/all.js";
    ref.parentNode.insertBefore(js, ref);
}(document));
</script>
4

2 に答える 2

1

自己実行関数を使用して、jQuery引数として渡します$

jQuery.noConflict();
(function ($) {
    FB.init({  // (this code straight from FB developer docs)
        appId: '1234123412341234',
        channelUrl: '//mysite.com/channel.html',
        status: true,
        cookie: true,
        xfbml: true
    });

    function checkLoginStatus(response) {
        if(response && response.status == 'connected') {

            $('#login-btn').hide();
            $('#logout-btn').show();

            console.log('User ID: ' + response.authResponse.userID);

        } else {

            $('#login-btn').show();
            $('#logout-btn').hide();

        }
    }
})(jQuery);

詳細はこちら

于 2013-08-13T01:35:59.060 に答える
0

$ を使用できるライブラリは 1 つだけです。そのため、jQuery または FB API を別のものに割り当てる必要があります。たとえば、これを行うことができます。

window._ = window.jQuery

http://api.jquery.com/jQuery.noConflict/もあります

于 2013-08-13T01:38:05.803 に答える