通常大多数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会发送此用户代理
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)
我有2种布局,application.html.haml & application.mobile.haml
由于第二个包括"平板电脑2.0"Mobile-Fu将格式设置为:tablet,这不会在我的rails应用程序中呈现布局。
请帮助我解决此问题。谢谢!
如果请求来自IE并包括平板电脑,我暂时通过更改用户代理来修复,
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
不确定对此的永久修复方法是什么。