执行 oauth 时如何创建弹出窗口?
Posted
技术标签:
【中文标题】执行 oauth 时如何创建弹出窗口?【英文标题】:How do I create a popup window when doing oauth? 【发布时间】:2011-06-17 19:16:12 【问题描述】:我想通过使用弹出窗口来完成 lifestream 和其他网站对 oauth 身份验证所做的事情。他们打开一个弹出窗口,不知何故没有被弹出窗口阻止程序阻止,并使他们的网站变灰。然后在允许 oauth 访问时,它说重定向回原始站点并终止弹出窗口并将站点恢复为正常颜色。我将如何去做这样的事情?如果我发布了任何内容,我就不应该没事,因为所有这些帐户都是假的。
【问题讨论】:
【参考方案1】:在 javascript 中,window.open() 函数将为您执行此操作。通过它的 api,您可以设置它的位置并从其中发生的事件中获取数据。
如果弹出窗口是从用户单击按钮时执行的函数创建的,则弹出窗口阻止程序不会阻止此弹出窗口。弹出窗口阻止程序仅在没有提供用户输入来创建窗口时才阻止窗口。
【讨论】:
感谢您特别指出弹出窗口阻止程序不会阻止它,因为它正在执行操作。【参考方案2】:问题是,这不是一个弹出窗口。这就是通常所说的灯箱。一个 js 脚本,如 fancybox、lightbox 和许多其他脚本。您基本上可以在具有绝对位置和高 z-index 的 div 中打开 iframe,然后在下面放置一个叠加层。
【讨论】:
我很确定这是一个弹出窗口。查看顶部的红色/黄色/绿色按钮和网址栏。你不会得到那些带有灯箱/花式盒实现的东西。此外,据我所知,大多数 OAuth 实现都有 IFrame 破坏 javascript - 所以(AFAIK)不可能将 IFrame 方法与 OAuth 一起使用。以上是关于执行 oauth 时如何创建弹出窗口?的主要内容,如果未能解决你的问题,请参考以下文章