2011-05-31 83 views
1

我正在开发FF扩展,它在第三方网站上显示用户特定的信息。用户需要登录到我的Drupal网站。我使用跨域验证的jQuery.ajax()来检查登录状态。如果用户未登录,FF扩展将打开一个弹出窗口(window.open()),显示Drupal登录/注册/密码丢失页面(/ user/login)。通过我的firefox-addon登录到我的drupal网站

现在我希望这个窗口关闭,并且一旦登录(注册/密码请求)成功,FF继续进行。现在我迷路了......我该怎么做?我知道如何关闭从我的FF插件(window.close())弹出,但我不知道如何告诉插件,何时做到这一点。我想到了轮询登录状态。但那看起来很笨拙,不是吗? 我也尝试将成功登录(登录目标模块)后的drupal页面重定向到自闭页面,但在较新的浏览器中,window.close()仅适用于使用相同脚本创建的窗口。然后,我仍然需要找到一种方法来告诉FF插件继续。

其他人怎么解决这个问题? 在此先感谢您的帮助!

+1

您可能还需要检查出的Drupal问答测试版网站。使用它的人越多,它越有可能通过测试:http://drupal.stackexchange.com – 2011-05-31 23:22:43

+0

好的,谢谢! – modoq 2011-05-31 23:35:18

+0

我不认为drupal.stackexchange.com会提出这个问题,因为它与FF-extension比Drupal更相关。 – 2011-06-01 06:32:45

回答

1

我不知道Firefox的扩展,但你可能会听到onload事件在您的弹出window检测到新的页面加载。如果成功登录的目标页面包含某些可从您的扩展中访问的标志,则可以从onload处理程序中查询此标志。

追赶的onload从您的扩展似乎是可行的,看到firefox extension. How to catch onload event?

+0

关于onload和ff-extensions的文档似乎为我提供了很多学习机会。所以我决定现在坚持投票。不管怎么说,还是要谢谢你。 – modoq 2011-06-02 16:44:41