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中检验表单的required,focus,valid和invalid样式
Feb 21 HTML / CSS
css3实现超立体3D图片侧翻倾斜效果
Apr 16 HTML / CSS
基于CSS3实现立方体自转效果
Mar 01 HTML / CSS
CSS3中的Transition过度与Animation动画属性使用要点
May 20 HTML / CSS
使用CSS3中的calc()属性来以算式表达尺寸数值
Jun 06 HTML / CSS
css3实现蒙版弹幕功能
Jun 18 HTML / CSS
带你认识HTML5中的WebSocket
May 22 HTML / CSS
探索HTML5本地存储功能运用技巧
Mar 02 HTML / CSS
html5移动端价格输入键盘的实现
Sep 16 HTML / CSS
通过canvas转换颜色为RGBA格式及性能问题的解决
Nov 22 HTML / CSS
html5 横向滑动导航栏的方法示例
May 08 HTML / CSS
HTML中的表单Form实现居中效果
May 25 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定时自动生成静态HTML的实现代码
2010/06/20 PHP
PHP 读取文本文件内容并分页显示
2016/01/02 PHP
javascript YUI 读码日记之 YAHOO.util.Dom - Part.4
2008/03/22 Javascript
jQuery '行 4954 错误: 不支持该属性或方法' 的问题解决方法
2011/01/19 Javascript
jquery 年会抽奖程序
2011/12/22 Javascript
html中的input标签的checked属性jquery判断代码
2012/09/19 Javascript
node.js中的events.emitter.removeListener方法使用说明
2014/12/10 Javascript
jQuery验证插件validation使用指南
2015/04/21 Javascript
js识别uc浏览器的代码
2015/11/06 Javascript
聊一聊JS中的prototype
2016/09/29 Javascript
Vue.js双向绑定操作技巧(初级入门)
2016/12/27 Javascript
NodeJs安装npm包一直失败的解决方法
2017/04/28 NodeJs
详解Windows下安装Nodejs步骤
2017/05/18 NodeJs
在vue里面设置全局变量或数据的方法
2018/03/09 Javascript
微信小程序中换行空格(多个空格)写法详解
2018/07/10 Javascript
element-ui表格列金额显示两位小数的方法
2018/08/24 Javascript
基于Node.js的大文件分片上传示例
2019/06/19 Javascript
前端 javascript 实现文件下载的示例
2020/11/24 Javascript
微信小程序视频弹幕发送功能的实现
2020/12/28 Javascript
[03:23]我的刀塔你不可能这么可爱 第一期金萌萌的故事
2014/06/20 DOTA
python Django批量导入数据
2016/03/25 Python
Python变量和字符串详解
2017/04/29 Python
对Python中type打开文件的方式介绍
2018/04/28 Python
python3利用ctypes传入一个字符串类型的列表方法
2019/02/12 Python
Pycharm+django2.2+python3.6+MySQL实现简单的考试报名系统
2019/09/05 Python
Python可变参数会自动填充前面的默认同名参数实例
2019/11/18 Python
Windows+Anaconda3+PyTorch+PyCharm的安装教程图文详解
2020/04/03 Python
Pycharm 使用 Pipenv 新建的虚拟环境(图文详解)
2020/04/16 Python
一套SQL笔试题
2016/08/14 面试题
读群众路线心得体会
2014/03/07 职场文书
给妈妈洗脚活动方案
2014/08/16 职场文书
2014年医院后勤工作总结
2014/12/06 职场文书
班干部学习委员竞选稿
2015/11/20 职场文书
《倍数和因数》教学反思
2016/02/23 职场文书
Java 数组内置函数toArray详解
2021/06/28 Java/Android
详细介绍MySQL中limit和offset的用法
2022/05/06 MySQL