10

我的网站上有一个注册系统,它使用常见的激活电子邮件技巧。此电子邮件仅包含说明和指向我网站上激活页面的链接。所以假设我在网站上注册,打开一个新标签来检查我的电子邮件,然后单击链接,该链接将在另一个新标签中打开,导致网站上打开两个标签(顺便说一句,其中一个仍然告诉他们检查他们的邮件)。

有没有办法让电子邮件中的链接在我网站的第一个选项卡中打开?(或者如果前一个选项卡已关闭或移至另一个域,则打开一个新选项卡)。

感谢您的任何帮助/建议!

4

1 回答 1

21

您可以使用 JavaScript 分配命名当前窗口/选项卡:

<script type="text/javascript">
    this.name = "mainWindow";
</script>

然后使用该名称作为target链接中属性的值,例如

<a href="nextPage.html" target="mainWindow">...

如果mainWindow尚不存在(或不存在),它将在新选项卡中打开。

更新

上面的东西并没有解决 OP 的问题,因为对于从电子邮件打开的链接,target属性通常不会从 MUA 传输到浏览器(可能除了 webmailers,但我们不能依赖这个)。所以我在想某种使用 JavaScript 来达到预期效果的登录页面:

  1. 如果目标窗口/选项卡 `mainWindow` 已经打开,将其聚焦,在那里执行激活,然后关闭我们自己。
  2. 如果目标窗口/选项卡不存在,请在我们所在的位置执行激活。

如果这行得通,在它自行关闭之前,您只会看到第二个打开的选项卡片刻(案例 1)。然而,正如我在这里这里所学到的那样,“关闭自己”是不可能的——所以最终会留下一个多余的标签,这应该避免。好像做不到,抱歉!

于 2012-08-23T11:55:26.197 回答