HTML静态页面获取url参数和UserAgent的实现


Posted in HTML / CSS onAugust 05, 2022

前言

接技术支持小伙伴信:有用户反馈app在华为设备上下载不了,以为是服务器覆盖的范围不够或服务器挂了,直到另一个客服同事发来一个录屏,基本知道原因,从而说明了反馈问题时,描述和材料对问题的分析与解决影响是巨大的。

原因

由于设备浏览器的useragent是电脑因此,下载页面就是电脑的页面,能下载的是电脑的安装文件。但在微信中却是能够正常显示的,但微信中“无法下载”,因此引导打开了浏览器,这样就是用户出现的“下载问题”

解决

在这个静态的下载页面url上带个参数,从微信引导浏览器打开时候,根据这个参数来展现界面,不已useragent为依据即可避免这个事情。

1、静态页面获取url的参数

有如下几种方法

function getURLParameter(name) { 
	return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20'))||null; 
}
function GetQueryString(name) {
   var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i");
   var r = window.location.search.substr(1).match(reg);
   if (r!=null) return unescape(r[2]); return null;
}

亲测上面两个函数,皆可。

2、取useragent的值

直接使用:navigator.userAgent

document.getElementById(“userAgentDiv”).innerHTML = navigator.userAgent;

3、测试页面

完整的html测试页面代码如下

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>参数与Ua测试(runoob.com)</title>
</head>
<body>
<script>
function getURLParameter(name) { 
	return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20'))||null; 
}
function GetQueryString(name) {
   var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i");
   var r = window.location.search.substr(1).match(reg);
   if (r!=null) return unescape(r[2]); return null;
}
function showUserAgent() {
   document.getElementById("userAgentDiv").innerHTML = navigator.userAgent;
}
document.write("param of os<br>");
document.write("1 GetQueryString:");
document.write(GetQueryString("os"));
document.write("<br> 2 getURLParameter: ");
document.write(getURLParameter("os"));

document.write("<h1>ua:");
document.write(navigator.userAgent);
document.write("</h1>");
</script>
</body>
</html>

当访问file:///C:/Users/R/Desktop/param.html时结果为:

HTML静态页面获取url参数和UserAgent的实现

当访问file:///C:/Users/R/Desktop/param.html?os=Android 时结果为:

HTML静态页面获取url参数和UserAgent的实现

这两个问题解决了,那个页面展现问题也随着解决了。当然商店是需要上架的,但市场上大部分平板以及一些定制机,这个ua一般是电脑,所以这个可以极大的覆盖所有“页面”导致的下载问题了。

 到此这篇关于HTML静态页面获取url参数和UserAgent的实现的文章就介绍到这了,更多相关HTML获取url参数和UserAgent内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

 
HTML / CSS 相关文章推荐
CSS3教程(9):设置RGB颜色
Apr 02 HTML / CSS
让IE可以变相支持CSS3选择器
Jan 21 HTML / CSS
css3的transform中scale缩放详解
Dec 08 HTML / CSS
你不知道的5个HTML5新功能
Jun 28 HTML / CSS
基于HTML5超酷摄像头(HTML5 webcam)拍照功能实现代码
Dec 13 HTML / CSS
html5指南-3.如何实现html元素拖拽功能
Jan 07 HTML / CSS
html5与css3小应用
Apr 03 HTML / CSS
HTML5 history新特性pushState、replaceState及两者的区别
Dec 26 HTML / CSS
基于HTML5 Canvas的3D动态Chart图表的示例
Nov 02 HTML / CSS
html5 canvas 实现光线沿不规则路径运动
Apr 20 HTML / CSS
app内嵌H5 webview 本地缓存问题的解决
Oct 19 HTML / CSS
萌新HTML5 入门指南(二)
Nov 09 HTML / CSS
CSS使用Flex和Grid布局实现3D骰子
Aug 05 #HTML / CSS
css中:last-child不生效的解决方法
Aug 05 #HTML / CSS
CSS浮动引起的高度塌陷问题
Aug 05 #HTML / CSS
使用CSS实现六边形的图片效果
Aug 05 #HTML / CSS
el-form每行显示两列底部按钮居中效果的实现
Aug 05 #HTML / CSS
纯CSS打字动画的实现示例
Aug 05 #HTML / CSS
新的CSS 伪类函数 :is() 和 :where()示例详解
You might like
PHP生成数组再传给js的方法
2014/08/07 PHP
php数据库的增删改查 php与javascript之间的交互
2017/08/31 PHP
对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍
2019/10/24 PHP
window.event.keyCode兼容IE和Firefox实现js代码
2013/05/30 Javascript
jquery easyui combox一些实用的小方法
2013/12/25 Javascript
JavaScript中reduce()方法的使用详解
2015/06/09 Javascript
JS实现三级折叠菜单特效,其它级可自动收缩
2015/08/06 Javascript
学习JavaScript设计模式之装饰者模式
2016/01/19 Javascript
JavaScript利用Date实现简单的倒计时实例
2017/01/12 Javascript
重新理解JavaScript的六种继承方式
2017/03/24 Javascript
微信小程序icon组件使用详解
2018/01/31 Javascript
Vue2.0实现组件数据的双向绑定问题
2018/03/06 Javascript
jqGrid表格底部汇总、合计行footerrow处理
2019/08/21 Javascript
微信小程序自定义yPicker组件实现省市区三级联动功能
2020/10/29 Javascript
推荐下python/ironpython:从入门到精通
2007/10/02 Python
python标准算法实现数组全排列的方法
2015/03/17 Python
python使用BeautifulSoup分析网页信息的方法
2015/04/04 Python
python 从文件夹抽取图片另存的方法
2018/12/04 Python
python模块导入的细节详解
2018/12/10 Python
pytorch permute维度转换方法
2018/12/14 Python
浅谈python编译pyc工程--导包问题解决
2019/03/20 Python
python pandas 时间日期的处理实现
2019/07/30 Python
python实现邮件自动发送
2019/08/10 Python
如何基于python操作json文件获取内容
2019/12/24 Python
详解pytorch tensor和ndarray转换相关总结
2020/09/03 Python
python中温度单位转换的实例方法
2020/12/27 Python
澳大利亚冲浪和时尚服装网上购物:SurfStitch
2017/07/29 全球购物
英国高档百货连锁店:John Lewis
2017/11/20 全球购物
蔬菜基地的创业计划书
2014/01/06 职场文书
我们的节日清明节活动方案
2014/03/05 职场文书
矿泉水广告词
2014/03/20 职场文书
大跃进口号
2014/06/16 职场文书
民主生活会对照检查材料
2014/09/22 职场文书
公司2015年终工作总结
2015/05/26 职场文书
2015民办小学年度工作总结
2015/05/26 职场文书
win10频率超出范围怎么办?win10老显示超出工作频率范围的解决方法
2022/07/07 数码科技