gpt4 book ai didi

cordova - phonegap中如何判断设备是iPad还是平板

转载 作者:行者123 更新时间:2023-12-02 05:50:47 25 4
gpt4 key购买 nike

如何在 phonegap 中检查设备?实际上我需要我的应用程序仅在平板电脑或 Iphone 中运行。我需要在其他手机上阻止我的应用程序仅在 Android 平板电脑或 iphone Ipad 中运行。是否可以 checkin phonegap..?

谢谢

最佳答案

介绍

有几种可用的解决方案。有些由 javascript 提供,有些是免费的,有些是付费服务。另外,有些是服务器端,有些是客户端,但从这封邮件来看,我认为您需要客户端解决方案。

客户端检测:

Modernizer -

aking advantage of cool new web technologies is great fun, until you have to support browsers that lag behind. Modernizr makes it easy for you to write conditional JavaScript and CSS to handle each situation, whether a browser supports a feature or not. It’s perfect for doing progressive enhancement easily.

好:

只有客户端,服务器端组件不存在

对于 12kb 的 javascript 框架来说速度很快但仍然很大。由于其模块化,它可以变得更小,具体取决于您的需要。

差:

只能做这么多,比服务器端检测信息更少。

Modernizr 本身就是了解用户浏览器功能的好方法。但是,您只能在浏览器本身上访问其 API,这意味着您无法轻松地从了解服务器逻辑中的浏览器功能中获益。

示例:

    <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Modernizr Example</title>
<script src="modernizr.min.js"></script>
</head>
<body>
<script>
if (Modernizr.canvas) {
// supported
} else {
// no native canvas support available :(
}
</script>
</body>
</html>

JavaScript based browser sniffing

It is arguable that this may be (academically) the worst possible way to detect mobile but it does have its virtues.

好:

简单

差:

它只会告诉设备类型,但不会提供设备版本。例如,它会告诉您我们使用的是 iPad,但不是版本 1、2 或 3。

示例:

<script type="text/javascript">     
var agent = navigator.userAgent;
var isWebkit = (agent.indexOf("AppleWebKit") > 0);
var isIPad = (agent.indexOf("iPad") > 0);
var isIOS = (agent.indexOf("iPhone") > 0 || agent.indexOf("iPod") > 0);
var isAndroid = (agent.indexOf("Android") > 0);
var isNewBlackBerry = (agent.indexOf("AppleWebKit") > 0 && agent.indexOf("BlackBerry") > 0);
var isWebOS = (agent.indexOf("webOS") > 0);
var isWindowsMobile = (agent.indexOf("IEMobile") > 0);
var isSmallScreen = (screen.width < 767 || (isAndroid && screen.width < 1000));
var isUnknownMobile = (isWebkit && isSmallScreen);
var isMobile = (isIOS || isAndroid || isNewBlackBerry || isWebOS || isWindowsMobile || isUnknownMobile);
var isTablet = (isIPad || (isMobile && !isSmallScreen));

if ( isMobile && isSmallScreen && document.cookie.indexOf( "mobileFullSiteClicked=") < 0 ) mobileRedirect();
</script>

更多信息

我有另一篇关于这个主题的文章/答案。找到它 HERE .

关于cordova - phonegap中如何判断设备是iPad还是平板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17226169/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com