- PR -

windows.closeについて

1
投稿者投稿内容
みゆき
会議室デビュー日: 2006/09/09
投稿数: 9
投稿日時: 2006-09-16 19:27
みゆきです。

こんばんは。

いつもありがとうございます。

asp.netでwindow.openと、window.closeを使用して画面の制御を行っています。

まずaというページが読まれたら、aをwindow.openでウィンドウ表示して

最初に表示されるaをwindows.closeで消すようにしております。

しかし、最初に表示させるaをwindows.closeが動作すると
「ウィンドウは、表示中のWEBページにより閉じられようとしています。このウィンドウを閉じますか?」

というメッセージが表示されてしまうのですがこれをメッセージが表示されず自動的に閉じる事は
できなでしょうか?


そもそもなぜaという画面をよませてる最中に画面aをwindows.openを表示させているかと
いうと、画面aが表示させる時に表示された時のツールバーを表示させない様にさせたいからです。
もしwindows.open以外でツールバーを表示させないようにする事とかはできるのでしょうか?
使用しているブラウザーInternetExploerです。


下にソースを書いてみました。どうかアドバイスの程を宜しくお願いします。

//////////////////////////////////////////////////////////////////////////////////////
●a.aspx.vb【抜粋】
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

Dim OpenScript As New StringBuilder
Dim OpenStr As String = "toolbar=no,location=no,directories=no,status=no," & _
"menubar=no,scrollbars=yes,resizable=yes,copyhistory=yes,width=900,height=600"


OpenScript.Append("<script language='javascript'>" & vbCrLf)
OpenScript.Append(vbTab & "window.open('a.aspx',null,'" & OpenStr & "');" & vbCrLf)
OpenScript.Append("</" & "script>")
OpenScript.RegisterStartupScript(Me.GetType, "openwin", OpenScript.ToString)




Dim CloseScript As New StringBuilder
CloseScript.Append("<script language='javascript'>" & vbCrLf)
CloseScript.Append(vbTab & "window.close();" & vbCrLf)
CloseScript.Append("</" & "script>")
ClientScript.RegisterStartupScript(Me.GetType, "closewin", CloseScript.ToString)
//////////////////////////////////////////////////////////////////////////////////////
Katze
ベテラン
会議室デビュー日: 2005/11/01
投稿数: 74
お住まい・勤務地: 1台でも せんだい
投稿日時: 2006-09-16 20:16
引用:
もしwindows.open以外でツールバーを表示させないようにする事とかはできるのでしょうか?



これに関してはわかりませんが、

「ウィンドウは、表示中のWEBページにより閉じられようとしています。
このウィンドウを閉じますか?」

のメッセージはIE6でなら JavaScript で window.close 前に、

window.opener=null;

とすれば表示されません。
ですが、この方法は推奨されていません。

また、今後の新しいバージョンでも動く保証がないので、どう
してもという場合以外は使わないほうがいいと思われます。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-09-18 23:33
 あなたが、www.someware.co.jp というページを表示しようとしたとします。
しかし、あなたの PC から、someware.co.jp までの回線の途中で、あなたのリクエストがフェッチされ、代わりにwww.spy.comというサイトへ誘導されるように、書き換えられてしまいました。
そして、www.spy.comでは、www.someware.co.jp からのレスポンスに、
window.open("www.spy.com", "toolbar=no,address=no");
window.close();
というスクリプトを忍ばせて、中継しました。

 さて、あなたのブラウザは、どう動くでしょう?
アドレスバー等がない、www.someware.co.jp を真似たページが表示され、元の、www.someware.co.jp へのリクエストを出したフレームは、警告無しに閉じられます。

 このような動作をすることを、あなたは望みますか?

 あなたがこのような動作をさせようとしているかどうかは、問題ではありません。
このような動作をさせられるということが、問題なのです。
このような望まない動作をしないようにブラウザが作ってあるとしたら、不満ですか?
1

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