[Seasar-user:18518] Re: [S2JSF]「新しいウィンドウで開く」を実行した場合の動作について

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2009年 9月 25日 (金) 16:43:59 JST


kawaさん
米林です。

> させたい動作としては、aタグのm:actionに指定したアクションを、
> アンカーの右クリック−「新しいウィンドウで開く」の時でも
> 実行させたいのですが、可能なのでしょうか?

これは「新しいウィンドウを開く」の場合は、hrefに指定されたURLに
遷移するブラウザの仕様なので無理だと思います。

> (例:
>  アンカーをクリックした場合、クリックしたウィンドウに対して、
>  アクションを実行し、次画面へ遷移する。
>  「新しいウィンドウで開く」を実行した場合、新しく開いたウィンドウに対して、
>  アクションを実行し、次画面へ遷移する。)
>
> その他、何か良い方法などございましたら、
> ご教授お願い出来ませんでしょうか?

アンカーにせずにボタン(input type="image"等)にしては如何でしょう?
ボタンにすれば、新しいウィンドウを開くメニューが出ないでしょうから
onclickでtargetをblankにして新しいウィンドウを開く事も可能です。

もしくは、forwardでは無くredirectで該当画面に遷移してきては
どうでしょうか?おそらくforwardにしているということは、パラメータの
引継ぎ等が絡むので簡単にはredirectには出来ないとは思いますが、
redirectが可能であればredirectで試して頂けたらと思います。

# 簡単に試せるサンプルがあるとこちらでも確認出来ます。

よろしくお願いします。


kawa さんは書きました:
> いつもお世話になっております。
> kawaです。
> 
> IEで、アンカーに対して、
> 右クリック−「新しいウィンドウで開く」を実行すると、
> 1つ前の画面が表示されます。
> 
> S2JSFの仕様上、aタグに、m:actionを指定した場合、
> hrefは無視されており、また、前画面からの遷移がforward遷移による為、
> 1つ前の画面が表示されてしまうと思っております。
> 
> させたい動作としては、aタグのm:actionに指定したアクションを、
> アンカーの右クリック−「新しいウィンドウで開く」の時でも
> 実行させたいのですが、可能なのでしょうか?
> (例:
>  アンカーをクリックした場合、クリックしたウィンドウに対して、
>  アクションを実行し、次画面へ遷移する。
>  「新しいウィンドウで開く」を実行した場合、新しく開いたウィンドウに対して、
>  アクションを実行し、次画面へ遷移する。)
> 
> 1セッションで、複数ウィンドウの操作も可能なシステムの為、
> 上記のような動作にも対応させたいと思っております。
> 
> その他、何か良い方法などございましたら、
> ご教授お願い出来ませんでしょうか?
> 
> [バージョン]
>  ・S2Container:2.4.33
>  ・S2Tiger  :2.4.33
>  ・S2JSF    :1.1.1
> 
> 
> 以上、宜しくお願い致します。


-- 
米 林   正 明
http://www.abby.co.jp


Seasar-user メーリングリストの案内