検索

ホームページ  >  に質問  >  本文

後で別のページから <a target='name'> を使用するように JavaScript で window.name を設定しますか?

foo.example.com などのウィンドウ内:

その後、別のウィンドウで、たとえば bar.example.com:

GOFOO

これはうまくいきますか?もともと target='' で名前が付けられていないウィンドウに戻る方法はありますか?

P粉821808309P粉821808309525日前636

全員に返信(1)返信します

  • P粉434996845

    P粉4349968452023-09-17 22:32:37

    ウィンドウの name 属性は実際に JavaScript で設定できます。ただし、想像どおりにうまくいくわけではありません。

    HTML では、 要素の target 属性を使用して、リンクされたドキュメントを開く場所を指定します。この属性の値は次のとおりです:

    _blank: リンクされたドキュメントを新しいウィンドウまたはタブで開きます。 _self: クリックしたときと同じフレームでリンクされたドキュメントを開きます (これがデフォルトです)。 _parent: リンクされたドキュメントを親フレームで開きます。 _top: リンクされたドキュメントをウィンドウ全体で開きます。 フレーム名: 名前付きフレームでリンクされたドキュメントを開きます。 したがって、target 属性の値は window.name ではなくフレーム名として解釈されます。それらは直接の関係はありません。

    ただし、window.name はウィンドウ間の通信において一定の役割を果たします。あるページから別のページに移動すると、ウィンドウまたはタブが閉じるか、ウィンドウまたはタブが window.name がクリアされたページに移動する別のドメインに移動するまで、(ドメイン間を移動する場合でも) window.name は同じままになります。しかし、例で使用しようとしているようには機能しません。

    window.name 属性は主にスクリプト プログラミングに使用され、 タグを通じてページ間でウィンドウを参照する方法としてではないことに注意してください。

    あなたが達成しようとしていること、つまり別のウィンドウ/タブから既存のウィンドウ/タブを参照することは、同一生成元ポリシーの制限と、セキュリティ上の理由によるウィンドウ間通信の制限により、直接実現できないことがよくあります。

    ただし、ニーズに応じて、localStorage、sessionStorage、postMessage などの他の方法を使用して、何らかの形式のウィンドウ間またはタブ間通信を実現できます。

    返事
    0
  • キャンセル返事