js检测浏览器环境UA,微信浏览器,安卓浏览器,IOS设备

如何使用JavaScript的document.write输出User-Agent信息,并提供几种不同的实现方式。

基础用法:直接输出完整UA

document.write(navigator.userAgent);

完整示例:格式化输出UA信息 html

html 复制代码
<!DOCTYPE html>
<html>
<head>
    <title>User Agent 检测</title>
</head>
<body>
    <script>
        // 获取User-Agent
        var ua = navigator.userAgent;
        
        // 使用document.write输出格式化信息
        document.write('<h2>浏览器User-Agent信息</h2>');
        document.write('<div style="background:#f5f5f5; padding:10px; border-radius:5px;">');
        document.write('<strong>完整UA字符串:</strong><br>');
        document.write('<code>' + ua + '</code>');
        document.write('</div><br>');
        
        // 检测浏览器类型
        document.write('<h3>浏览器检测结果:</h3>');
        document.write('<ul>');
        
        // 检测微信浏览器
        var isWeChat = /MicroMessenger/i.test(ua);
        document.write('<li>微信浏览器: ' + (isWeChat ? '是' : '否') + '</li>');
        
        // 检测安卓浏览器
        var isAndroid = /Android/i.test(ua);
        document.write('<li>安卓设备: ' + (isAndroid ? '是' : '否') + '</li>');
        
        // 检测iOS设备
        var isIOS = /iPhone|iPad|iPod/i.test(ua);
        document.write('<li>iOS设备: ' + (isIOS ? '是' : '否') + '</li>');
        
        // 检测Chrome浏览器
        var isChrome = /Chrome/i.test(ua);
        document.write('<li>Chrome浏览器: ' + (isChrome ? '是' : '否') + '</li>');
        
        document.write('</ul>');
    </script>
</body>
</html>

更简洁的版本javascript

javascript 复制代码
// 直接在页面中输出UA信息
document.write(`
    <div style="margin:20px; padding:15px; border:1px solid #ccc;">
        <h3>User Agent:</h3>
        <p>${navigator.userAgent}</p>
        <p>微信浏览器: ${/MicroMessenger/i.test(navigator.userAgent) ? '是' : '否'}</p>
        <p>安卓设备: ${/Android/i.test(navigator.userAgent) ? '是' : '否'}</p>
    </div>
`);

函数封装版本

javascript 复制代码
function detectBrowser() {
    var ua = navigator.userAgent;
    var result = {};
    
    result.isWeChat = /MicroMessenger/i.test(ua);
    result.isAndroid = /Android/i.test(ua);
    result.isIOS = /iPhone|iPad|iPod/i.test(ua);
    result.isChrome = /Chrome/i.test(ua);
    
    return result;
}

// 使用函数并输出结果
var browserInfo = detectBrowser();
document.write('<h3>浏览器检测结果:</h3>');
document.write('<pre>' + JSON.stringify(browserInfo, null, 2) + '</pre>');

注意事项

  1. document.write的使用时机:只能在页面加载过程中使用,如果在页面加载完成后使用会覆盖整个页面内容。

  2. 更好的替代方案:现代开发中更推荐使用:

    javascript 复制代码
    // 使用DOM操作代替document.write
    window.onload = function() {
        var infoDiv = document.createElement('div');
        infoDiv.innerHTML = 'User Agent: ' + navigator.userAgent;
        document.body.appendChild(infoDiv);
    };
  3. User-Agent的可靠性:User-Agent可以被用户修改,重要业务逻辑应该结合其他验证方式。

实时检测示例

javascript 复制代码
// 实时显示UA信息(不推荐在生产环境使用)
setInterval(function() {
    var output = document.getElementById('ua-output');
    if (output) {
        output.innerHTML = navigator.userAgent;
    }
}, 1000);

选择合适的方式根据你的具体需求来使用。如果是简单的调试,直接使用document.write(navigator.userAgent)即可;如果是正式项目,建议使用更现代的DOM操作方法。

相关推荐
报错小能手8 小时前
ios开发方向——swift并发进阶核心 @MainActor 与 DispatchQueue.main 解析
开发语言·ios·swift
LcGero8 小时前
Cocos Creator 业务与原生通信详解
android·ios·cocos creator·游戏开发·jsb
ii_best8 小时前
lua语言开发脚本基础、mql命令库开发、安卓/ios基础开发教程,按键精灵新手工具
android·ios·自动化·编辑器
用户223586218201 天前
WebKit WebPage API 的引入尝试与自研实现
ios
啦啦啦!1 天前
ChatGPT和Gemini的接入和封装
人工智能·ios·chatgpt
报错小能手2 天前
ios开发方向——swift并发进阶核心 async/await 详解
开发语言·ios·swift
开心就好20252 天前
HTTPS超文本传输安全协议全面解析与工作原理
后端·ios
牛马1112 天前
Flutter iOS 权限配置完整指南(定位权限)
flutter·ios
A_QXBlms2 天前
多账号轮询架构 — 利用企销宝iPad协议突破单账号群发次数限制
ios·架构·ipad
HH思️️无邪2 天前
Flutter + iOS 实战指南:教程视频 PiP + 退桌面(可复用模板)
flutter·ios