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径向渐变之大鱼吃小鱼之孤单的大鱼
Apr 26 HTML / CSS
HTML5 Web 存储详解
Sep 16 HTML / CSS
浅谈pc和移动端的响应式的使用
Jan 03 HTML / CSS
W3C公布最新的HTML5标准草案
Oct 17 HTML / CSS
HTML5引入的新数组TypedArray介绍
Dec 24 HTML / CSS
html5指南-2.如何操作document metadata
Jan 07 HTML / CSS
使用分层画布来优化HTML5渲染的教程
May 08 HTML / CSS
HTML5几个设计和修改的页面范例分享
Sep 29 HTML / CSS
HTML5新增加的功能详解
Sep 05 HTML / CSS
浅谈关于html5中图片抛物线运动的一些心得
Jan 09 HTML / CSS
Canvas制作的下雨动画的示例
Mar 06 HTML / CSS
iframe跨域的几种常用方法
Nov 11 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 mail()函数使用及配置方法
2014/01/14 PHP
PHP中返回引用类型的方法
2015/04/03 PHP
PHP生成唯一订单号的方法汇总
2015/04/16 PHP
PHP环形链表实现方法示例
2017/09/15 PHP
PHP+AJAX 投票器功能
2017/11/11 PHP
Javascript Object.extend
2010/05/18 Javascript
一款jquery特效编写的大度宽屏焦点图切换特效的实例代码
2013/08/05 Javascript
基于jQuery实现交互体验社会化分享代码附源码下载
2016/01/04 Javascript
深入解析桶排序算法及Node.js上JavaScript的代码实现
2016/07/06 Javascript
利用JS实现数字增长
2016/07/28 Javascript
JavaScript中函数声明与函数表达式的区别详解
2016/08/18 Javascript
jQuery实现的超链接提示效果示例【附demo源码下载】
2016/09/09 Javascript
jQuery DateTimePicker 日期和时间插件示例
2017/01/22 Javascript
基于MVC方式实现三级联动(JavaScript)
2017/01/23 Javascript
Angular实现的简单定时器功能示例
2017/12/28 Javascript
JS实现将链接生成二维码并转为图片的方法
2018/03/17 Javascript
解决layui前端框架 form表单,table表等内置控件不显示的问题
2018/08/19 Javascript
Vue3.0 响应式系统源码逐行分析讲解
2019/10/14 Javascript
如何利用 JS 脚本实现网页全自动秒杀抢购功能
2020/10/12 Javascript
vue 封装面包屑组件教程
2020/11/16 Javascript
[42:36]DOTA2上海特级锦标赛B组败者赛 VG VS Spirit第二局
2016/02/26 DOTA
详解在Python和IPython中使用Docker
2015/04/28 Python
Python绘制3d螺旋曲线图实例代码
2017/12/20 Python
Sanic框架路由用法实例分析
2018/07/16 Python
python实现彩色图转换成灰度图
2019/01/15 Python
Numpy中对向量、矩阵的使用详解
2019/10/29 Python
python实现加密的方式总结
2020/01/19 Python
python实现在一个画布上画多个子图
2020/01/19 Python
浅谈在JupyterNotebook下导入自己的模块的问题
2020/04/16 Python
jupyter notebook oepncv 显示一张图像的实现
2020/04/24 Python
matplotlib grid()设置网格线外观的实现
2021/02/22 Python
将相和教学反思
2014/02/04 职场文书
村级环境卫生整治方案
2014/05/04 职场文书
充分就业社区汇报材料
2014/05/07 职场文书
小学亲子活动总结
2014/07/01 职场文书
如何用六步教会你使用python爬虫爬取数据
2022/04/06 Python