- PR -

[asp.net]javascriptのwindow.showModalDialogで表示したウインドウのタイトル

1
投稿者投稿内容
かめたろ
ぬし
会議室デビュー日: 2003/03/20
投稿数: 255
投稿日時: 2004-03-10 20:39
こんばんは。
javascriptについてなので、直接asp.netに絡むことではないのですが質問させてください。

検索画面のモーダル表示を実現するために window.showModalDialog を使って検索画面のページを表示しています。
で、window.showModalDialogはそのままでは画面遷移ができない(postbackも。やると新しいwindowが開いてしまう)ので間に <iframe src="検索画面.aspx" のように記述したページを挟んでいます。

ここからが本題です。

showModalDialogで表示されたウィンドウのタイトルはiframeのページのtitleなのですが、これを検索画面.aspxのtitleに変えたかったので <body>のonload を以下のようにしました。

<body MS_POSITIONING="FlowLayout" onload="window.document.title=window.document.frames(0).document.title;">
<iframe id="fra" src="検索画面.aspx" frameBorder="0" width="100%" height="100%" runat="server"></iframe>
</body>

デバッグで見てみると window.document.title には値がちゃんと入っているのですが、それが画面には反映されていません。

普通に window.open したらどうなのかと思ってやってみたら、こちらは画面に正しく反映されます。

showModalDialogはそういうものだと割り切るしかないでしょうか?
情報をお持ちの方、なにかアドバイスをいただけたらありがたいです。
mso
ぬし
会議室デビュー日: 2003/12/04
投稿数: 496
お住まい・勤務地: 宮城
投稿日時: 2004-05-18 15:01
msoです。

私もshowModalDialogでdocument.titleへの設定方法を探していて
googleで探していたらここにたどり着きました。

んー、仕様なのかなぁ???
きち
常連さん
会議室デビュー日: 2003/12/17
投稿数: 41
投稿日時: 2004-05-18 16:10
ほんの5日前にshowModalDialogというのを初めて知って勉強をしたばかりです。
私の場合は、タイトルについてはtitleタグに入っている物を表示しただけでした。
その時作ったものでちょいと試してみました。
確かにonloadで設定してもタイトルに入らないようですね。

frameのPage_Load側でscriptをはき出してやるとタイトルを変更することが出来ました。が、これじゃダメですかね?
コード:
Dim script As New System.Text.StringBuilder()
script.Append("<script language=""JavaScript"">")
script.Append("window.document.title='てすと画面';")
script.Append("</script>")
Page.RegisterStartupScript("authenticated", script.ToString)


frameに呼出されたaspx側でparent.titleとやってみましたけどダメでした。bgColorなどは設定できるようでしたけど・・
「動かしてみて期待通りの動きをした」というだけなので確証はないです。申し訳ない。
きち
常連さん
会議室デビュー日: 2003/12/17
投稿数: 41
投稿日時: 2004-05-19 15:44
もっと良い方法ありました。
件名:コードからのTitleプロパティの設定方法
1

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