10

私の Web サイトには、一般的なアクティベーション メール トリックを使用する登録システムがあります。この電子メールには、手順と、私の Web サイトのアクティベーション ページへのリンクが含まれているだけです。サイトに登録し、新しいタブを開いてメールをチェックし、リンクをクリックすると、別の新しいタブが開き、サイトで 2 つのタブが開きます (そのうちの 1 つは、まだ o を指示しています)。彼らのメールをチェックしてください)。

メール内のリンクを取得して、自分の Web サイトの最初のタブで開く方法はありますか? (または、前のタブが閉じられているか、別のドメインに移動されている場合は、新しいタブを開きます)。

ヘルプ/提案をありがとう!

4

1 に答える 1

21

JavaScript 割り当てを使用して、現在のウィンドウ/タブに名前を付けることができます。

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

次に、その名前をtargetリンクの属性の値として使用します。

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

mainWindowまだ (またはそれ以上) 存在しない場合は、新しいタブで開きます。

アップデート

targetメールから開かれたリンクの場合、属性は通常 MUA からブラウザーに転送されないため、上記のものは OP の問題を解決しません(おそらく Web メーラーを除きますが、これに依存することはできません)。そこで、JavaScript を使用して目的の効果を実現するランディング ページを考えていました。

  1. 対象のウィンドウ/タブ `mainWindow` が既に開かれている場合は、フォーカスし、そこでアクティブ化し、自分自身を閉じます。
  2. 対象のウィンドウ/タブが存在しない場合は、ここでアクティベーションを実行します。

これが機能した場合、開いている 2 つ目のタブが一瞬 (ケース 1) 表示された後、それ自体が閉じます。それでも、私がここここで学んだように、「自分自身を閉じる」ことはできません。そのため、最終的には余分なタブが残ることになりますが、これは避けるべきでした。出来ないようです、ごめんなさい!

于 2012-08-23T11:55:26.197 に答える