判断终端是PC还是手机

//one
var system ={win: false, mac: false, xll: false };
var p = navigator.platform;
system.win = p.indexOf("Win") == 0;
system.mac = p.indexOf("Mac") == 0;
system.x11 = (p == "X11") || (p.indexOf("Linux") == 0);
if(!(system.win||system.mac||system.xll)){window.location.href=""; }


//two
function IsPC() {
    var userAgentInfo = navigator.userAgent;
    var Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"];
    var flag = true;

    for (var v = 0; v < Agents.length; v++) {
        if (userAgentInfo.indexOf(Agents[v]) > 0) {
            flag = false;
            break;
        }
    }
    return flag;
}

 

### 如何判断程序运行是在PC端还是移动端 在Web开发中,区分PC端和移动端对于提供优化用户体验至关重要。通过JavaScript可以有效地识别用户的设备类型并据此调整应用行为。 #### 使用正则表达式匹配 `User-Agent` 一种常见方法是利用`navigator.userAgent`属性中的信息来推断客户端环境: ```javascript created() { // 判断页面是否在手机端打开 const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent); if (isMobile) { console.log('当前在手机端'); window.location.href = '小程序链接'; } else { console.log('当前在PC端'); } } ``` 这段代码会在创建组件实例时执行,检查用户代理字符串是否存在特定模式以指示移动操作系统[^1]。 #### 基于平台名称检测 另一种方式则是借助`navigator.platform`属性获取更具体的硬件或软件平台详情: ```javascript const platformCheck = () => { let platforms = {'MacIntel': false, 'Win32': false}; Object.keys(platforms).forEach(key => { if (navigator.platform === key){ platforms[key] = true; } }); return !Object.values(platforms).includes(true)?true:false; }; console.log(`Is Mobile? ${platformCheck()}`); ``` 此函数返回布尔值表示是否为非桌面平台(即可能是移动设备)。不过这种方法不如前者的覆盖面广,因为并非所有移动设备都会报告其确切型号[^3]。 #### ASP.NET 中的应用 对于服务器端技术如ASP.NET而言,则可以通过相似的方式来进行初步筛选: ```csharp if(Regex.IsMatch(Request.UserAgent, "(android|bb\\d+|meego).+mobile|avantgo|" + "bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|" + "iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|" + "netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|" + "plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.browser|" + "up\\.link|vodafone|wap|windows ce|xda|xiino", RegexOptions.IgnoreCase | RegexOptions.Multiline)) { // 手机端逻辑 } else { // PC端逻辑 } ``` 上述C#代码片段展示了如何基于请求头内的`User-Agent`字段决定响应策略[^4]。 综上所述,在不同编程环境中均存在有效手段用于判别终端类别,开发者应根据实际需求选取最合适的方案实施差异化服务供给。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值