app*_*aro 11 javascript mobile google-chrome ios
当用户使用iOS移动safari的"请求桌面版网站"或iOS Chrome的"请求桌面版"时,我想发送我的网站的iPad版本.似乎只有用户代理在该模式下是不同的,并且似乎无法检测到.有任何想法吗?
我的网站有三个版本:桌面/平板/智能手机.平板电脑版本是桌面版的静态版本,非常动态并且使用了大量JavaScript(视差效果).
我见过一些人使用cookies/sessionStorage来检测不断变化的用户代理,例如http://leavesofcode.net/2013/07/08/responsive-design-with-switch-to-desktop-site-option/和https://gist.github.com/dtipson/7401026
但是,我发现您可以通过交叉引用来跳过所有navigator.platform这些navigator.userAgent。这是专门针对 iOS 的,因为我听说 Chrome 的“请求桌面站点”也会自动更新视口,因此可能不需要对其进行此检查。
var iOSAgent = window.navigator.userAgent.match(/iPhone|iPod|iPad/);
var iOSPlatform = window.navigator.platform && window.navigator.platform.match(/iPhone|iPod|iPad/);
var iOSRequestDesktop = (!iOSAgent && iOSPlatform);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3612 次 |
| 最近记录: |