none
[Vista・IE7、XP・IE6]情報バーの表示する/しないは、何が条件になっているのですか? RRS feed

  • 質問

  • Webアプリでファイルをダウンロードする機能を使用しています(DBのデータを基にファイルを作成し、それをダウンロードする)。
    この機能を使用する際、まれに以下の情報バーが表示されます。

    「セキュリティ保護のため、このサイトによる、このコンピュータへのファイルのダウンロードがInternet Explorerによりブロックされました。オプションを表示するには、ここをクリックしてください。」

    IEのヘルプには、以下のような場合に表示されるとあります。

    Internet Explorer でファイルのダウンロードがブロックされるのは、ユーザーがそのファイルを要求していなかったと考えられるときです。こうしたことは、次のような場合に起こります。
    ①Web サイトによって、ユーザーの許可なくユーザーのコンピュータにファイルがダウンロードされようとした。 
    ②ユーザーがファイルを要求したが、ダウンロードの開始までに時間がかかった。 

    ①はあり得ません。
    ②ですが、どこからどこまでが何秒以上といった条件が決まっていればご教示ください。

    また、必ずしも時間がかかった場合に出るというわけではないようです。
    アプリケーションサーバ、ウェブサーバのログを詳細に調査していないのですが
    IE上で確認できた限りでは、「情報バーにお気づきですか?」といった画面が表示されるまでの時間よりも
    「このファイルを開くか、または保存しますか」といった画面が表示されるまでの時間の方が
    長い場合があるようです(ただ、正確な秒数までは確認していません。申し訳ありません)。

    アプリケーションサーバ、ウェブサーバのログはどのような観点で調査するのがよいでしょうか?
    また、IE(Windows)側で調査すべきものはありますか?
    他に調査すべきことは?

    サーバOS:HP-UX
    アプリケーションサーバ:WebSphere Application Server(WAS)
    ウェブサーバ:IBM HTTP Server(IHS)
    クライアントOS,IE:
    Windows XP Professional(SP2)とIE6の組み合わせ
    Windows Vista business(SP2)とIE7の組み合わせ
    2011年1月17日 6:33

回答

  • 軽くググったところ、ユーザーによるファイルのダウンロードを許可している Web サイト というページが見つかりました。

    問題となっているHTMLページはどのような記述になっているのでしょうか?

    • 回答としてマーク 服部清次 2011年2月3日 4:20
    2011年1月17日 7:04
  • 書き込み内容から、
    「同じファイルを全く同じ手順」でダウンロードしようと場合に、
    警告が出る場合と、出ない場合があると受け取りました。

    なんとなく、時間とかではなく、
    ブラウザがユーザ操作だと言うことを追跡出来なくなった場合に出ていると思いました。

    次のサイトにはダウンロード警告時の解決法として以下がありました。
    ①Web の作成者は Web ページに、ファイルをダウンロードするためにユーザーがクリックするリンクを設定する必要があります。
    ②リソースに移動するスクリプトを使用する場合は、目的のリンクに対する OnClick イベント ハンドラのコンテキスト内で同期的にスクリプトを実行してください。」

    私は②の「同期的に」の部分が大きなポイントではないかと思っています。
    (例えば、meta refreshやタイマー経由でframe挿入などだと非同期になるかと)
    # 同じ考えがクリップボード警告にもありますね。

    他にも可能性は色々ありますが、私であればこの部分を一番念頭に考えます。
    • 回答としてマーク 服部清次 2011年2月3日 4:20
    2011年1月17日 13:47

すべての返信

  • 軽くググったところ、ユーザーによるファイルのダウンロードを許可している Web サイト というページが見つかりました。

    問題となっているHTMLページはどのような記述になっているのでしょうか?

    • 回答としてマーク 服部清次 2011年2月3日 4:20
    2011年1月17日 7:04
  • 書き込み内容から、
    「同じファイルを全く同じ手順」でダウンロードしようと場合に、
    警告が出る場合と、出ない場合があると受け取りました。

    なんとなく、時間とかではなく、
    ブラウザがユーザ操作だと言うことを追跡出来なくなった場合に出ていると思いました。

    次のサイトにはダウンロード警告時の解決法として以下がありました。
    ①Web の作成者は Web ページに、ファイルをダウンロードするためにユーザーがクリックするリンクを設定する必要があります。
    ②リソースに移動するスクリプトを使用する場合は、目的のリンクに対する OnClick イベント ハンドラのコンテキスト内で同期的にスクリプトを実行してください。」

    私は②の「同期的に」の部分が大きなポイントではないかと思っています。
    (例えば、meta refreshやタイマー経由でframe挿入などだと非同期になるかと)
    # 同じ考えがクリップボード警告にもありますね。

    他にも可能性は色々ありますが、私であればこの部分を一番念頭に考えます。
    • 回答としてマーク 服部清次 2011年2月3日 4:20
    2011年1月17日 13:47
  • hintmint さん、

    こんにちは。
    フォーラム オペレーターの服部清次です。

    hintmint さんがこちらの質問を投稿されてから少し経ちましたが、
    佐祐理 さんと (´・ω・`) さんはご確認いただけましたでしょうか?

    今回の hintmint さんのご質問に関しましては、フォーラム上で正確な情報を見つけるのは難しいのではないかと
    思われますが、、、参考情報として、佐祐理 さんと (´・ω・`) さんの回答を役立てていただけるのでは
    ないかと思いましたので、勝手ながら、ひとまず私の方で [回答としてマーク] させていただきました。

    もし hintmint さんが詳細をご希望の場合は、弊社のサポート窓口へのお問い合わせもご検討いただければと思います。
    http://support.microsoft.com/select/?target=assistance

    今後とも、MSDN/TechNet フォーラムをよろしくお願いします。
    それでは、また。


    __________________________________________________
    日本マイクロソフト株式会社 フォーラム オペレーター 服部 清次

    2011年2月3日 4:23