在Facebook应用程序中遇到弹出窗口问题

时间:2012-08-06 23:15:39

标签: javascript facebook html

如果我网站上的Facebook用户未允许我们的应用程序在Facebook上,我正在尝试在我的网站上弹出一个弹出窗口作为内容储物柜。我相信我弹出的代码编写得很好,因为它本身可以正常运行。检查用户是否登录的Facebook代码也可以独立运行。我在组合Facebook javascript和我的DIV时遇到了麻烦。我的弹出窗口一直有效,直到我尝试将弹出窗口中的DIV放入elseelse if个语句中。

我可以将这些div放在javascript else ifelse语句中吗?以下DIV是我试图在声明中加入的内容:

<div class="overlay"><div class="overlay-content"></div></div>

我也试过将它们放在document.write里面来显示div,但它也没有帮助我。

我的代码可以是found here,也可以从那里粘贴:

FB.getLoginStatus(function(response) {
if (response.status === 'connected'){
    document.write("Looks like you're logged into Facebook and our app :)");
    // the user is logged in and connected to your
    // app, and response.authResponse supplies
    // the user’s ID, a valid access token, a signed
    // request, and the time the access token 
    // and signed request each expire
    var uid = response.authResponse.userID;
    var accessToken = response.authResponse.accessToken;
} 
else if (response.status === 'not_authorized'){
    <div class="overlay"><div class="overlay-content"></div></div>
    // the user is logged in to Facebook, 
    //but not connected to the app
}
else{
    <div class="overlay"><div class="overlay-content"></div></div> 
    // the user isn't even logged in to Facebook.
}
});
</script>

1 个答案:

答案 0 :(得分:0)

  

我的弹出窗口一直有效,直到我尝试将弹出窗口的DIV放入我的其他内容中,否则就会出现。

那是因为你只是混合JS和HTML代码,这是不可能的。 (请了解这些事情是如何运作的基本知识,因为这种尝试明显缺乏基本知识!)

  

我也尝试将它们放在document.write中来显示div,但它也没有帮助我。

这也不是一个有前景的方法。在初始呈现文档后调用的document.write将替换当前文档。所以这也不是你想要的。

解决方案非常简单 - 随时在HTML代码中包含重叠的DIV元素;然后,在检查登录后,只需将其设置为display:none(直接或通过操纵它的类)来使其不可见,或者将其从DOM中完全删除。

再次,请获取有关您要使用的技术的基本知识。