h5判断是ios还是安卓
发表于|更新于
|浏览量:
理想主义者是不可救药的:如果他被扔出了他的天堂,他会再制造出一个理想的地狱。——尼采
主要就是这个代码
1 | var u = navigator.userAgent; |
这边用用户的agent和正则判断
相关推荐
2025-07-03
自动仿真人类滚动脚本
周虽旧邦,其命维新。一一《诗经》 自动仿真人类滚动脚本:让你的网页浏览更“像人类”在前端开发、自动化测试或数据采集的过程中,我们经常会遇到“模拟人类操作”的需求。例如,自动滚动页面以加载惰性内容、触发懒加载图片,或者让自动化检测工具误以为是真人在浏览网页。传统的 window.scrollTo() 或 window.scrollBy() 方法虽然可以实现页面滚动,但往往过于机械,容易被反爬虫系统识别。 本文介绍一个简单易用、可持续运行的仿真人类自动滚动脚本,它通过“随机滚动步长+随机停顿”的方式,让页面滚动行为更贴近真实用户操作。 一、脚本源码解析123456789101112131415161718192021222324252627(function autoHumanScroll() { const minDelay = 5000; // 最小停顿5秒 const maxDelay = 10000; // 最大停顿10秒 const minStep = 20; // 最小滚动20px const maxStep = 80; // 最大滚动...
2021-08-24
页面滚动事件
有些路是非要单独一人去跋涉,路再远再长,也得独自默默走下去。——席慕蓉 HTML DOM事件大全:https://www.runoob.com/jsref/dom-obj-event.html 可以如下写法: 12345window.onscroll = function() { console.log("滚动上下距离" + document.documentElement.scrollTop || document.body.scrollTop); console.log("滚动左右距离" + document.documentElement.scrollLeft || document.body.scrollLeft);}// jquery $(window).scroll(()=>{}) uniapp页面生命周期文档:https://uniapp.dcloud.io/collocation/frame/lifecycle?id=%e9%a1%b5%e9%9d%a2%e7%94%9f%...
2023-08-25
js阻止默认事件踩坑
人这种卑鄙的东西,什么都会习惯的。——陀思妥耶夫斯基《罪与罚》 今天遇到一个问题,我想阻止浏览器默认的滚动事件,却阻止不了还一直报错 123456789101112131415161718192021<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head><body> <div style="height: 2000px;background:#888"> </div> <script> document.addEventL...
2022-03-10
react中什么情况下不能用index作为key
立志用功如种树然,方其根芽,犹未有干;及其有干,尚未有枝;枝而后叶,叶而后花。——王守仁 我们在React遍历渲染列表时会遇到这样一个报错: 意思是说,渲染list列表时必须给每个元素指定一个唯一的key 当然你可以选择忽略这个报错,但是为什么会提示这个报错呢? 假设我们给key指定一个随机数,或者干脆不指定的话,会怎么样呢? 官方文档给出了答案: 渲染列表时的逻辑以及问题 为了解决上述问题,React 引入了 key 属性。 也就是说,如果给key指定一个随机数,或者干脆不指定的话,会造成性能问题 这个时候,我们想到了用遍历时的元素下标作为key 但是官方文档明确告诉我们: 如果列表项目的顺序可能会变化,我们不建议使用索引来用作 key 值,因为这样做会导致性能变差,还可能引起组件状态的问题。可以看看 Robin Pokorny 的深度解析使用索引作为 key 的负面影响这一篇文章。如果你选择不指定显式的 key 值,那么 React 将默认使用索引用作为列表项目的 key 值。 这里Robin Pokirny的文章中提到了,如果满足这三者,可以放心使用index作为...
2024-05-17
处理js的JSON.parse中Number太长导致精度丢失问题
大自然的真实和单纯,常是重要艺术极点的基础。——恩格斯 代码如下: 1"token".split(".").slice(0,2).map(i=>JSON.parse(atob(i))) 这里主要是 JSON.parse 导致的,我简单复现一下 1JSON.parse('{"id":9052710354240385291}') 得到的是 1{id: 9052710354240385000} 可以看到后面的 291 变为 000 了 解决方式这里使用正则匹配 /:\s*([-+]?\d+(\.\d+)?([eE][-+]?\d+)?)/g 例如: 123456JSON.parse('{"id":9052710354240385291}'.replace(/:\s*([-+]?\d+(\.\d+)?([eE][-+]?\d+)?)/g, (match, p1) => { ...
2023-07-15
umijs环境变量问题
我们关心的,不是你是否失败了,而是你对失败能否无怨。——林肯 今天遇到一个问题,umijs框架下的环境变量配置不好使 首先是我package.json里的配置是这样的: 12345 "scripts": { "start": "cross-env NODE_ENV=dev umi dev", "build:test": "cross-env NODE_ENV=test umi build", "build:production": "cross-env NODE_ENV=prod umi build"} 然后在我其中一个js文件中进行引用: 12console.log({ NODE_ENV: process.env.NODE_ENV });console.log({ 'process.env': process.env }); 然后当我指...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog