2013-05-29 3 views
9

Excel/Wordでリンクをクリックすると、User Agentを調べてサポートされているかどうかを調べるサイトに移動すると、サイトでは実際に使用しているときにMSIE 7.0を使用していると誤って認識されることがあります何か他のもの、Chromeと言う。Excel/WordのリンクをクリックするとIE以外のブラウザがMSIE 7.0になりがちなのはなぜですか?

要求と一緒に送信されたユーザーエージェントを調べると、要求がMSIE 7.0からのものであることが示されます。ユーザーの時点からMSIE 7.0が使用されていないことが明らかです。

ここでは何が起こっていますか?ユーザーに間違ったメッセージの表示を停止するにはどうすればよいですか?

答えて

7

Excel/Wordがクリックされたときにリンクをあらかじめ読み込もうとしているように見えます。正常に読み込まれると、指定されたリンクでデフォルトブラウザが開きます。ただし、リンクのプリロード時には302回のリダイレクトも行われます。サイトがMSIE7をサポートしていない場合(これは現在一般的になっています)、おそらく情報/エラーページにリダイレクトされます。プリローディングルーチンは、元のリンクではなくブラウザでこのページを開き、MSIE 7.0がサポートされていない理由を説明するメッセージを表示しますが、Chromeを使用してページが読み込まれたことをはっきりと確認できるユーザーは混乱します。

これを回避するための推奨される方法はありますか?

これまでに回答されている場合は、お知らせください。私はそれが誰かを助けることを望む。

+0

こんにちは、私はあなたがまだ1つを探しているなら、答えを加えました。 –

4

最も簡単な解決策は、「IE 7がサポートされていないページ」にブラウザのチェックを入れることです。 リダイレクトに従っているOfficeプログラム(間違ったユーザーエージェント文字列に基づいて送信)は、エラーページを読み込み、HTTP 200応答を受信して​​から、リンクを既定のブラウザまでスローします。次に、ブラウザは適切なユーザエージェント文字列でページ自体を要求します。

  1. ユーザーエージェントとオフィスプロセス要求 "example.com/example.html" "互換性のある; MSIE 7.0"
  2. Serverは
  3. オフィス・プロセスの要求を「example.com/notsupported.htmlに対してHTTP 302リダイレクトを返します。 「ユーザーエージェントと 『example.com/notsupported.html互換; MSIE 7.0』
  4. サーバがHTTP 200の見つかり+ example.com/notsupported.html
  5. オフィスプロセスは、デフォルトのブラウザにリンクを渡し
  6. デフォルトのブラウザ要求を返します」 example.coブラウザエージェントは 『
  7. Serverは、ブラウザを使用すると、ユーザーを使用することができますページを要求したら、+ example.com/notsupported.html

ので見つかりHTTP 200が返されるものは何でも、「ユーザーエージェントとの』 M/notsupported.htmlあなたが本当に "サポートされていない"ページを送り返したいのか、本当のコンテンツにリクエストをリダイレクトしたいのかを確認することができます。

しかし、これはリダイレクトされた元のURLを見つける問題を引き起こします。最初にページを要求したOfficeプロセスと、最終的にエンドポイントURLが渡されるブラウザとの間でセッションを共有する際に問題があります。この問題を回避するには、「サポートされていない」ページへのリダイレクト応答にクエリ文字列パラメータとして元のリクエストURLを含めることです。

関連する問題