8

以下のスクリプトを使用して開いているポップアップウィンドウがあります。クリックするたびに、新しいポップアップを開きたいです。ウィンドウに一意の名前を付けると問題が解決することを理解しています(この場合は「SampleWindow」)。ウィンドウの一意性を維持する最良の方法は何ですか? javascript popup を管理する他の方法はありますか?

window.open(url, 'SampleWindow', 'WIDTH=300,HEIGHT=250');
4

3 に答える 3

9

_blankパラメータに の値を渡すと、渡された が新しいウィンドウにname読み込まURLれます。このような:

window.open(url, '_blank', 'width=300,height=250');

nameパラメーター (オプション)のその他のオプションには、次のものがあります。

  • _blank- URL が新しいウィンドウに読み込まれます。これがデフォルトです
  • _parent- URL は親フレームに読み込まれます
  • _self- URL は現在のページを置き換えます
  • _top- URL は、ロードされる可能性のあるフレームセットを置き換えます
  • name- ウィンドウの名前

Aこの JavaScript をアンカー タグに渡す場合は、IE ブラウザーが戻り値を期待することに注意してください。それ以外の場合は、Aタグ自体を参照します。そのためのコードは次のようになります。

<a href="javascript:var w=window.open(url, '_blank', 'width=300,height=250');">test</a>

またはそれ以上 (ステータス バーにユーザーのコードを表示しないようにするため):

  <a href="javascript:void(0);" onclick="window.open(url, '_blank', 'width=300,height=250');">test</a>

リンク:

于 2013-02-05T19:18:06.427 に答える
2

ウィンドウ名にタイムスタンプを追加して、真に一意のウィンドウ名を作成し、それを変数に割り当てることができます。なので...

var myWindow = window.open(url, 'SampleWindow'+new Date().getTime(), 'WIDTH=300,HEIGHT=250');

より多くのウィンドウが必要なため、配列を介してウィンドウを管理することをお勧めします。

var myWindow = [];
myWindow.push(window.open(url, 'SampleWindow'+new Date().getTime(), 'WIDTH=300,HEIGHT=250'));

myWindow[index]これらのウィンドウはlikeで管理できますmyWindow[2].close();

于 2013-02-05T19:15:11.130 に答える
1

毎回名前を変更することもできます

var i = 0;
window.open(url, 'SampleWindow' + i, 'WIDTH=300,HEIGHT=250');
i++;
于 2013-02-05T19:17:12.997 に答える