我正在开发一个FF扩展,它可以在第三方网站上显示特定于用户的信息。用户需要登录到我的Drupal网站。我正在使用跨域验证的jQuery.ajax()检查登录状态。如果用户没有登录,FF扩展会打开一个弹出窗口(window.open()),显示一个Drupal登录/注册/密码丢失页面(/ user /login)。
现在,只要登录(注册/密码请求)成功,我希望关闭此窗口并继续FF扩展。现在我迷失了…我该怎么做呢?
我知道如何从我的FF插件(window.close())中关闭弹出窗口,但我不知道如何告诉插件,什么时候做。我想过轮询登录状态。但这看起来有点笨拙,不是吗?我还尝试在成功登录(登录目标模块)后将drupal页面重定向到一个自动关闭的页面,但在较新的浏览器中,window.close()只能在使用相同脚本创建的窗口上工作。然后,我仍然必须找到一种方法来告诉FF-addon继续进行。
其他人是如何解决这个问题的?提前感谢您的帮助!
发布于 2011-06-01 14:40:34
我不知道火狐扩展,但你也许可以在弹出的window上监听onload事件来检测新的页面加载。如果成功登录的目标页面包含可从您的分机访问的标志,则可以从onload处理程序中查询此标志。
从你的扩展中捕获onload似乎是可行的,请参阅firefox extension. How to catch onload event?
https://stackoverflow.com/questions/6194616
复制相似问题