- - PR -
windows.closeについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 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) ////////////////////////////////////////////////////////////////////////////////////// | ||||
|
投稿日時: 2006-09-16 20:16
これに関してはわかりませんが、 「ウィンドウは、表示中のWEBページにより閉じられようとしています。 このウィンドウを閉じますか?」 のメッセージはIE6でなら JavaScript で window.close 前に、 window.opener=null; とすれば表示されません。 ですが、この方法は推奨されていません。 また、今後の新しいバージョンでも動く保証がないので、どう してもという場合以外は使わないほうがいいと思われます。 | ||||
|
投稿日時: 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