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

Having trouble with popup in Facebook application

本文关键字:遇到 问题 Facebook 应用程序      更新时间:2023-09-26

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

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

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

我还尝试通过将div 放入 document.write 中来显示div,但这对我也没有帮助。

我的代码可以在这里找到,也可以从那里粘贴:

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>

我的弹出窗口一直有效,直到我尝试将弹出窗口的 DIV 放在我的 else 或 if 语句中。

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

我还尝试通过将div 放入 document.write 中来显示它们,但它对我也没有帮助。

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

解决方案非常简单 - 随时在您的HTML代码中覆盖DIV元素;然后,在检查登录后,只需将其样式设置为display:none(直接或通过操作其类,例如),或将其从DOM中完全删除

同样,请获取有关您要使用的技术的一些基本知识。