这与位置的"修复"有关:在旧版本的iOS中修复.但是,如果安装了iOS5或更高版本,则修复程序会破坏页面.
我知道如何检测iOS 5:navigator.userAgent.match(/OS 5_\d like Mac OS X/i)但是当iOS6最终出现时,它不适用于iOS6,甚至iOS 5.0.1也只适用于2位数版本.
所以这就是我的主题.
$(document).bind("scroll", function() {
if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) {
if (navigator.userAgent.match(/OS 5_\d like Mac OS X/i)) {
}
else {
changeFooterPosition();
}
});
Run Code Online (Sandbox Code Playgroud) 我可以在iPhone上检测到iOS 13,但在iPad OS 13中navigator.platform是MacIntel。因此,无法使用以下代码识别iPad,但它在iPhone上可以完美运行。
if (/iP(hone|od|ad)/.test(navigator.platform)) {
var v = (navigator.appVersion).match(/OS (\d+)_(\d+)_?(\d+)?/);
var version = [parseInt(v[1], 10), parseInt(v[2], 10), parseInt(v[3] || 0, 10)];
return version;
}
Run Code Online (Sandbox Code Playgroud)
当我们要求使用iPad上的浏览器访问移动网站时,它将navigator.platform返回iPad,并且可以完美运行。
谁能建议使用Javascript 识别在iOS 13及更高版本上运行的iPad的方法?