- PR -

window.open 以外でのサブウィンドウ起動

1
投稿者投稿内容
えくれあ
会議室デビュー日: 2008/09/04
投稿数: 9
投稿日時: 2008-09-16 15:00
いつもお世話になっております。

VS2005 ASP.NET IIS6.0 ブラウザはIE6.0 IE7.0 の環境で開発しています。

色々しらべたのですが、window.open 以外でのサブウィンドウ起動
は不可能なのでしょうか?

window.open自体が使用出来ないという事ではないのですが、

まず、親(P001.aspx)→子(P002.aspx)(現状はwindow.openで起動)を起動します。

子の画面でエラーが発生した場合、エラー画面へ遷移します。
このエラー画面は通常の Redirect で画面を遷移している画面にも
共通で使用しています。

エラー画面の Page_Load で
HttpContext.Current.Request.UrlReferrer を使用し、
どの画面からエラー画面が起動されたか取得しています。

Redirect で画面を遷移している場合には、
取得できているのですが、
window.openで起動された画面からは、
HttpContext.Current.Request.UrlReferrer の箇所で
「オブジェクトが・・・」のエラーが出てしまいます。

やりたい事は、HttpContext.Current.Request.UrlReferrer 等で、
どの画面からの起動かを取得したいのです。
エラー画面からログイン画面に遷移するのですが、
起動元の画面で、遷移するログイン画面を変更しないと
いけないのです。

これは、セッション切れのエラー画面にも使用したいので、
起動元の情報をセッションに保持する事も
出来ません。

どなたかご存知の方がいましたら、ご教授願います。
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2008-09-16 15:17
> 色々しらべたのですが、window.open 以外でのサブウィンドウ起動
> は不可能なのでしょうか?

HTMLやJavaScript等でブラウザをどのようにコントロールできるか調べてみると
いいと思います。
調べた結果も投稿してもらえると、情報の共有の意味でもいいですね。
えくれあ
会議室デビュー日: 2008/09/04
投稿数: 9
投稿日時: 2008-09-16 16:42
どっとねっとふぁん 様
ご指摘有難う御座いました。

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=8013&forum=7

を参考に、window.open 以外はないものと思いました。

mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2008-09-16 17:44
targetは?
えくれあ
会議室デビュー日: 2008/09/04
投稿数: 9
投稿日時: 2008-09-16 18:21
mio様
ご回答有難う御座いました。

targetは?

という事は
a タグ で targetの指定をするという事で
私の解釈は間違っていませんでしょうか?

色々調べてる中で、他サイトですが、
下記参考URLを見つけました。
http://www.microsoft.com/japan/msdn/community/gdn/ml/techDetail-362.htm

やはりwindow.open での UrlReferrer を取得しようとしていた
私の考えに誤りがあり、
a タグ で target を指定する方法を検討してみます。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2008-09-16 20:02
「このページで参照していましたよ」を参照できるようにしてあるので、ブックマークやアドレス直打ちの場合は、入っていません。window.open は、これらと同じ扱いです。

と言うことは、エラーになったのも、ポストバックしているから正しいエラーが発生した画面が取れるのであって、最初に表示する時にエラーになると、違うページがエラー元として表示されます。
それと、GDNJ で中さんが最後に書かれていることも、要注意です。イントラネットであれば消されないとおもいますが、インターネットなら、消されていることはおおいにあり得ます。



errorPage.aspx?src=元のページ

1

スキルアップ/キャリアアップ(JOB@IT)