我有一个Twitter授权流程,可在大多数浏览器中完美工作。您点击“添加Twitter帐户”,该帐户具有target="_blank"
属性,该属性将用户发送到Twitter而不离开我的网站,他们授权,并且Twitter将用户发送回我网站上的页面。该页面会触发window.opener
(父窗口),然后关闭该窗口。弹出窗口中的window.close()返回到Safari中的原始选项卡
事件在原始窗口中正确触发,但是有一种情况是用户在Safari(也可能是其他浏览器)中打开了多个选项卡,新窗口将在最后一个选项卡中打开,因此当我执行window.close()
,它会将用户带到最后一个选项卡,而不是我的网站。除了删除target="_blank"
并通过这种流程之外,是否有任何方法可将用户带回我的网站?
为什么难为打开一个新的窗口?只需使用twitter OAuth API和相同的窗口即可。 'target =“_ blank”'已被折旧出于某种原因:它是侵入性的。 – ghoppe 2011-04-27 04:34:25
嗯。我立场纠正。它在XHTML中被贬值,但HTML5似乎再次允许它。噢,它仍然很糟糕。 :) – ghoppe 2011-04-27 04:41:20