0

認証に Facebook を使用するサーブレットを使用して Web アプリを作成しています。したがって、ユーザーがログインボタンを押すたびに、ユーザーが Facebook のログイン資格情報を入力してサーブレットにリダイレクトする新しいポップアップウィンドウが開きます。サーブレットでは、ログインしているユーザーの情報を抽出してセッションを作成します。セッションを作成した後、このポップアップを閉じて、親ウィンドウを別の場所に更新する必要があります。ポップアップを開くには、次のスクリプトを使用します

function popitup(url) {
    newwindow=window.open(url,'name','height=200,width=150');
    if (window.focus) {newwindow.focus()}
return false;
}

ログインしていない状態で Facebook の「いいね!」をクリックしたときに、Facebook の「いいね」ボックスが使用するのと同じメカニズムを模倣したいと考えています。

4

2 に答える 2

0

ポップアップ ウィンドウでジョブが完了したら、refreshParent() を呼び出す必要があります。

<script language="JavaScript">

function refreshParent() {
  window.opener.location.href = window.opener.location.href;
  window.close();
}

</script>

これにより、親の更新とポップアップの終了が行われます。

このコードはポップアップ ウィンドウに表示され、ポップアップですべてのジョブが完了した後にのみ呼び出されることを忘れないでください。

于 2012-07-14T05:04:09.163 に答える
0

おそらく、このコードをサーブレット ページに追加して、ボタン クリックで関数を呼び出しますか?

<script language="javascript">
function closeWin() {
   window.close();
}
</script>

<input type="button" onclick="closeWin;" />

アプリケーションがウィンドウを閉じようとしており、受け入れるかどうかを警告するセキュリティ ポップアップが表示される場合があります。それを回避する唯一の方法は、親ウィンドウである「オープナー」を参照し、おそらくポップアップをぼかすことです。次に、おそらくオープナーページの onFocus() が子ウィンドウを閉じる関数を呼び出します。

于 2012-07-14T04:56:39.663 に答える