Mobile safari 通过Javascript(例如,用户代理)检测Apple Watch

Mobile safari 通过Javascript(例如,用户代理)检测Apple Watch,mobile-safari,user-agent,apple-watch,Mobile Safari,User Agent,Apple Watch,我试图通过Javascript检测苹果手表。然而,与我的iPhone 6相比,尺寸/宽度和用户代理并没有给出任何明确的线索。以下是html: <!DOCTYPE html> <html lang="en"> <head> <title>Watch Test</title> </head> <body> <div id="width">width</div> <di

我试图通过Javascript检测苹果手表。然而,与我的iPhone 6相比,尺寸/宽度和用户代理并没有给出任何明确的线索。以下是html:

<!DOCTYPE html>
<html lang="en">

<head>
<title>Watch Test</title>
</head>

<body>
    <div id="width">width</div>
    <div id="height">height</div>
    <div id="user_agent">user_agent</div>

    <script type="text/javascript">
        document.getElementById("width").innerHTML = "Width is '" + screen.width + "'";
        document.getElementById("height").innerHTML = "Height is '" + screen.height + "'";
        document.getElementById("user_agent").innerHTML = "User Agent is '" + navigator.userAgent + "'";
    </script>
</body>
</html>
运行WatchOS 5.1.2的Apple Watch显示:

Width is '320'
Height is '568'
User Agent is 'Mozilla/5.0 (iPhone; CPU iPhone OS 12_1_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Mobile/15E148 Safari/604.1'
Width is '320'
Height is '568'
User Agent is 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.0 Mobile/15E148 Safari/604.1'
唯一的区别是将来会改变的版本。我还研究了navigator.platform,但在这两种设备上都是iPhone


有没有关于如何检测苹果手表的线索?

我在这里也遇到了同样的问题,并找到了一个奇怪的(可能不是未来的证据)解决方法。 您需要检查它是否支持通过HTML5音频播放AAC音频。就目前而言,它不支持任何音频,而所有iPhone都支持

let a=document.createElement('audio');
让我们支持SAAC=!!(a.canPlayType&&a.canPlayType('audio/mp4;codecs=“mp4a.40.2”)。替换(/no/,'');
let is_iphone=['iphonesimulator','iphone'].包括(navigator.platform)
返回是_iphone&!支持SAAC
这在未来肯定会改变,但我想现在还可以(两年后仍然如此)。此外,可能还有其他方法可以检测到这一点,因为它似乎也不支持视频