-1

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

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

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

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

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

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>
4

1 回答 1

0

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

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

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

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

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

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

于 2012-08-07T08:51:04.197 回答