Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果用户已登录,则隐藏FB登录按钮_Javascript_Facebook_Facebook Javascript Sdk - Fatal编程技术网

Javascript 如果用户已登录,则隐藏FB登录按钮

Javascript 如果用户已登录,则隐藏FB登录按钮,javascript,facebook,facebook-javascript-sdk,Javascript,Facebook,Facebook Javascript Sdk,这似乎是一个简单的问题,其他人已经发布了,但我仍然找不到答案。具体地说,我已经反复地问了这两个问题,我只是没有把它们和我的情况联系起来 对我来说,我想我应该将登录按钮包装在一个div中,然后根据登录状态更改div的可见性。div确实改变了可视性,但fb登录按钮仍然可见 以下是我在div中包装登录按钮的代码: …剪断。。。。 ........ 剪 这是我的FB.Init,正在检查登录状态: window.fbAsyncInit = function () { FB.init({

这似乎是一个简单的问题,其他人已经发布了,但我仍然找不到答案。具体地说,我已经反复地问了这两个问题,我只是没有把它们和我的情况联系起来

对我来说,我想我应该将登录按钮包装在一个div中,然后根据登录状态更改div的可见性。div确实改变了可视性,但fb登录按钮仍然可见

以下是我在div中包装登录按钮的代码:

…剪断。。。。
........
剪
这是我的FB.Init,正在检查登录状态:

window.fbAsyncInit = function () {
    FB.init({
        appId: '352810974851050',        // App ID
        channelUrl: '//www.domain.com/channel.html',
        status: true, // check login status
        cookie: true, // enable cookies 
        xfbml: true // parse page for xfbml or html5 like login button below
    });

    // Put additional init code here
    FB.getLoginStatus(function (response) {

        if (response.status === 'connected') {
            var uid = response.authResponse.userID;
            var accessToken = response.authResponse.accessToken;
            ShowFbLogin(false);
        } else if (response.status === 'not_authorized')
.........snip...................
以及ShowFbLogin函数的js代码

        function ShowFbLogin(ShowLogin)
        {
            var div_FBLogin = document.getElementById('fblogin');
            var spn_FBLogin = document.getElementById('fb-login');
            var div_FBShare = document.getElementById('fbshare');

            if (ShowLogin)
            {
                div_FBLogin.style.visibility = 'visible';
                div_FBShare.style.visibility = 'hidden';
            }
            else
            {
                div_FBLogin.style.visibility = 'collapse';
                spn_FBLogin.style.visibility = 'collapse';
                div_FBShare.style.visibility = 'visible';
            }
        }

尝试对
#fb login
元素使用
display:none
<代码>可见性:折叠用于表格元素;应该像隐藏可见性一样,即为不可见按钮保留空间<代码>可见性:折叠对IE8也根本不起作用。

看看这个。这可能对你有帮助。我不觉得自己很笨吗!!这完全正确,我不需要先测试它。