1

前置きとして、私は JavaScript について事実上何も知らず、このような非常にまれな状況を除けば、あまり JavaScript を使用するつもりはありません。ですから、この問題を自分で解決しようとするために、それについてもっと学ぼうとしなかったことを許してください。

状況:

私は、ポップアウト ブラウザ ウィンドウをよく利用します。これを行うために、ブラウザーにブックマークを作成しました。これには、どこかからコピーした Javascript の小さな断片が含まれています。

javascript:%20var%20WindowPopup%20=%20window.open(window.location.href,'PopUp','left=1150,top=830,width=660,height=410,scrollbars=yes,location=no,status=no');

問題:

現状では、既存のポップアウト ウィンドウがあり、ブックマークを再度選択すると、同じサイトにいる場合は同じポップアウト ウィンドウが再利用され、それ以外の場合は新しいポップアウト ウィンドウが作成されます。しかし、このデフォルトの動作をオーバーライドしたい場合がたくさんあります。

3 つの質問:

  1. ポップアウトを常に新しいウィンドウで開くように強制するにはどうすればよいですか?

  2. ポップアウトで常に既存のウィンドウを再利用するにはどうすればよいですか?

  3. 前の 2 つのオプションを組み合わせる: 既存のポップアウト ウィンドウがあるかどうかを検出し、それを再利用するか、新しいウィンドウを開くかを確認することはできますか?

どうぞよろしくお願いいたします。

4

1 に答える 1

1

ブックマークレットの文字列「PopUp」は、ポップアップ ウィンドウの名前です。同じ名前を使用して別のポップアップ ウィンドウを作成すると、既に開いているウィンドウが再利用されます。
この動作を回避したい場合は、毎回一意の名前でポップアップ ウィンドウを作成する必要があります。

次のブックマークレット コードは、ポップアップ ウィンドウの名前にタイムスタンプを追加して、一意の名前を作成します。

javascript:%20var%20WindowPopup%20=%20window.open(window.location.href,'PopUp'+Date.now(),'left=1150,top=830,width=660,height=410,scrollbars=yes,location=no,status=no'); 

ミリ秒以内に複数のポップアップを開かない限り、これは機能するはずです。

于 2012-07-27T12:29:55.503 に答える