0

Facebook で非常に奇妙な問題が発生していscrollTo()ます。関連するコードは次のとおりです。

    <script>
        window.fbAsyncInit = function() {
            FB.init({
                appId  : 'APPID',
                status : true, // check login status
                cookie : true, // enable cookies to allow the server to access the session
                xfbml  : true, // parse XFBML
                oauth  : true // enable OAuth 2.0
            });
            FB.Canvas.setSize({ width: 810, height: 5000 });
            //FB.Canvas.setAutoGrow();              
        };
        (function() {
            var e = document.createElement('script'); e.async = true;
            e.src = document.location.protocol +
                '//connect.facebook.net/en_US/all.js';
            document.getElementById('fb-root').appendChild(e);
        }());

        function scrollToQuestion(top) {
            FB.Canvas.scrollTo(0, top);
        }
    </script>

これが奇妙な問題です。コード自体は機能しません。ただし、firebug を使用していて、ブレークポイントをFB.Canvas.scrollTo(top, 0);行に配置している間は、機能が機能しません。どうしたの...?!

編集:最終的にそれを理解しました...いくつかの奇妙な理由で、トップ変数が何らかの文字列として入ってきました。関数の呼び出しを次のように変更する必要がありました。

var top = 0;
top = parseInt($('.top'"]').position().top);
scrollToQuestion(top);

これで問題が解決しました。

4

0 に答える 0