哪种方法更可靠地检测手机浏览器?检测手机浏览器没有用户代理嗅探
UA嗅探
jQuery的
width()
据我了解UA嗅探并不十分可靠。
我需要根据查看页面的移动设备的宽度更改页面的HTML。我无法单独使用媒体查询。
哪种方法更可靠地检测手机浏览器?检测手机浏览器没有用户代理嗅探
UA嗅探
jQuery的width()
据我了解UA嗅探并不十分可靠。
我需要根据查看页面的移动设备的宽度更改页面的HTML。我无法单独使用媒体查询。
您可以使用mobile detect JS library来做到这一点。注意以下警告:
// WARNING:
// These JavaScript-based device detection features may ONLY work
// for the newest generation of smartphones, such as the iPhone,
// Android and Palm WebOS devices.
// These device detection features may NOT work for older smartphones
// which had poor support for JavaScript, including
// older BlackBerry, PalmOS, and Windows Mobile devices.
// Additionally, because JavaScript support is extremely poor among
// 'feature phones', these features may not work at all on such devices.
// For better results, consider using a server-based version of this code,
// such as Java, APS.NET, PHP, or Ruby.
有两种选择:
1-用户代理嗅探。 2移动检测JS库
你刚刚回答了你自己的问题 - 你要么采用用户的浏览器或他们的设备宽度。
如果您想在宽度小于WIDTH_CONSTANT时执行某些操作,请使用mediaQueries或使用javascript检查尺寸。
如今用户代理嗅探,不建议在客户端,因为,而非嗅探用户代理,你需要寻找您感兴趣的功能。
所以你的情况我几乎确信地说,你应该寻找设备宽度。
P.S.如果你在服务器端进行处理,我认为useragent嗅探是唯一能够找出设备用户正在使用的方法。
我想在某些浏览器宽度或设备宽度上运行js代码。基本上,如果媒体查询踢我想要js做些事情。 – user1721135
您是否正在改变某些元素的外观,因为屏幕很窄?如果是这样,请使用媒体查询。如果你改变元素行为的方式(例如,移动设备没有鼠标,所以他们不能悬停),那么你最好检测功能(例如它是否支持触摸事件?)并相应地进行调整。移动设备的分辨率越来越高:宽度不再是检测它们的准确方法。 – cimmanon
我需要根据宽度更改html。我无法单独使用媒体查询。 – user1721135
不幸的是没有一个选项。 – user1721135