-1

新しい質問

focus()Google Chrome では、要素がクリックされた場合にのみウィンドウを表示できます。

元の質問

focus()Web ページをフォーカスするために使用している同じウィンドウ内にポップアップ ウィンドウが作成されていない、javascript を使用してウィンドウに移動するにはどうすればよいですか

var wnd = window.open("http://bing.co.uk", "stage");

別の Web ページから開かれたポップアップ ウィンドウを変更するのに適しています。

wnd.focus();

ただし、wnd フォーカス機能を備えた Web ページが開いているときに、ステージ ウィンドウが既に開いているため、これは機能しません。

4

1 に答える 1

4

元の質問への回答:

その名前のウィンドウが存在することがわかっている場合は、後で を呼び出して(たとえば、またはwindow.openを呼び出したい場合) 、そのウィンドウへの参照を取得できます。blurfocus

window.open("", "theWindowName").focus();

もちろん、ウィンドウがまだ存在しない場合は、新しいウィンドウが開きます。残念ながら、その名前のウィンドウが既に存在するかどうかを (アプリケーション ロジックを除いて) 事前に知ることはできません。

ウィンドウ オブジェクトを取得したら、blurまたはを呼び出すことができますfocus

実例| ソース


まったく異なる、新しい質問への回答:

focus()Google Chrome では、要素がクリックされた場合にのみウィンドウを表示できます。

コードがウィンドウを開いた場合は、できるはずです。例えば:

HTML:

<button id="btnOpen">Open</button>
<button id="btnFocus">Focus</button>

JavaScript:

jQuery(function($) {
  $("#btnOpen").click(function() {
    window.open(
      "about:blank",
      "theWindow",
      "width=500,height=500");
  });
  $("#btnFocus").click(function() {
    // Note that this happens a full second later, NOT
    // in direct response to a user event
    setTimeout(function() {
      window.open("", "theWindow").focus();
    }, 1000);
  });
});

実例| ソース

于 2012-11-10T10:53:45.050 に答える