1

通常、IE の大半はこのユーザー エージェントを送信します。

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; MS-RTC LM 8)

しかし、一部の IE はこの Useragent を送信します

  Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Tablet PC 2.0; .NET4.0C; .NET4.0E; MS-RTC LM 8)

私は application.html.haml と application.mobile.haml
の 2 つのレイアウトを持っています。

この問題の修正にご協力ください。ありがとう!

4

1 に答える 1

0

IEからのリクエストでTabletPCが含まれている場合は、ユーザーエージェントを変更して一時的に修正しました。

class ApplicationController < ActionController::Base

  before_filter :change_user_agent_for_ie

  def change_user_agent_for_ie
    if request.env["HTTP_USER_AGENT"].include?("Tablet PC 2.0") && (request.env["HTTP_USER_AGENT"].include?("MSIE"))
      request.env["HTTP_USER_AGENT"] = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; MS-RTC LM 8)"
    end
  end

これに対する恒久的な修正は何でしょうか。

于 2013-03-21T07:07:21.423 に答える