- - PR -
Windows XP SP2での別ウィンドウ表示処理について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-12-21 11:12
sinhと申します。
現在、ファイル内容の別ウィンドウ表示処理を作成しています。 処理としてJavaScriptにて ----------------------------------------------------- window.open("about:blank","newWin",""); document.forms[0].target= "newWin"; document.forms[0].action = "/sample/DownloadServlet?index="+index; document.forms[0].submit(); ----------------------------------------------------- で別ウィンドウ表示して、サーバ側のJavaのDownloadServletのなかで、ファイル内容を response.getOutputStream()に出力しています。 上記の処理で、Windows XP SP2でIE6 sp2でイントラネットゾーンとして 処理を行った場合は、動作するのですが、インターネットゾーンの場合は 「セキュリティ保護のため、このサイトによる、このコンピュータへの ファイルのダウンロードがInternet Explorerによりブロックされました。 オプションを表示するには、ここをクリックしてください。」 が表示され、右クリックをして、"ファイルのダウンロード"を選択しても 処理が行われません。 そのため、少し調べていたら、JavaScript側の処理を ------------------------------------------------------------------ window.open("/sample/DownloadServlet?index="+index,"newWin",""); ------------------------------------------------------------------ とするとインターネットゾーンでも表示されることが わかったのですが、上記2つのJavaScriptにどのような違いがあるのでしょうか? よろしくお願いします。 |
|
投稿日時: 2005-12-22 08:04
実際に何が起きているか動作確認していないので正確なことはわかりませんが、
違いについて考えてみました。 ------------------------------------------------------------------ window.open("/sample/DownloadServlet?index="+index,"newWin",""); ------------------------------------------------------------------ このwindow.openは元ウィンドウで実行するJavaScriptですが 別ウィンドウnewWin自身がこのURLを開くのはJavaScriptではありませんね。 ----------------------------------------------------- window.open("about:blank","newWin",""); document.forms[0].target= "newWin"; document.forms[0].action = "/sample/DownloadServlet?index="+index; document.forms[0].submit(); ----------------------------------------------------- これは元ウィンドウで実行するJavaScriptですね。 別ウィンドウnewWinをあとから表示しなおしても 別ウィンドウnewWinは"about:blank"を表示(ダウンロード?)するだけ。 再び元ウィンドウでこのJavaScriptを実行しなおさないといけない。 これは推測ですよ。 そう考えると 最初は window.open("about:blank","newWin",""); がブロックによって失敗し document.forms[0].submit(); も失敗?中断? ブロック解除で window.open("about:blank","newWin",""); が実行されるが document.forms[0].submit(); は継続されないってことか? |
|
投稿日時: 2005-12-26 17:41
未記入さん返信ありがとうございます。
--引用-------------------------------------- 最初は window.open("about:blank","newWin",""); がブロックによって失敗し document.forms[0].submit(); も失敗?中断? ブロック解除で window.open("about:blank","newWin",""); が実行されるが document.forms[0].submit(); は継続されないってことか? -------------------------------------------- 確かにそう考えると、実行されないですね。 XP sp2のセキュリティ保護でこんなところまで 影響があるとは思いませんでした。 本当にありがとうございました。 |
1