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中用animation的steps属性制作帧动画
Apr 25 HTML / CSS
CSS3 please 跨浏览器的CSS3产生器
Mar 14 HTML / CSS
纯CSS3实现的阴影效果
Dec 24 HTML / CSS
HTML5的hidden属性兼容老浏览器的方法
Apr 23 HTML / CSS
使用HTML5里的classList操作CSS类
Jun 28 HTML / CSS
使用PDF.JS插件在HTML中预览PDF文件的方法
Aug 29 HTML / CSS
html5响应式开发自动计算fontSize的方法
Jan 13 HTML / CSS
奇妙的 CSS shapes(CSS图形)
Apr 05 HTML / CSS
详解CSS伪元素的妙用单标签之美
May 25 HTML / CSS
HTTP中的Content-type详解
Jan 18 HTML / CSS
css3 选择器
May 11 HTML / CSS
CSS元素定位之通过元素的标签或者元素的id、class属性定位详解
Sep 23 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设计模式 Prototype (原型模式)代码
2011/06/26 PHP
PHP排序之二维数组的按照字母排序实现代码
2011/08/13 PHP
浅析PHP安装扩展mcrypt以及相关依赖项(PHP安装PECL扩展的方法)
2013/07/05 PHP
PHP中imagick函数的中文解释
2015/01/21 PHP
ThinkPHP模板Volist标签嵌套循环输出多维数组的方法
2016/03/23 PHP
php构造方法中析构方法在继承中的表现
2016/04/12 PHP
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
2019/08/23 PHP
用JS操作FRAME中的IFRAME及其内容的实现代码
2008/07/26 Javascript
让iframe子窗体取父窗体地址栏参数(querystring)
2009/10/13 Javascript
比较详细的关于javascript 解析json的代码
2009/12/16 Javascript
javascript函数中的arguments参数
2010/08/01 Javascript
js中style.display=&quot;&quot;无效的解决方法
2014/10/30 Javascript
Javascript核心读书有感之表达式和运算符
2015/02/11 Javascript
原生js实现class的添加和删除简单代码
2016/07/12 Javascript
Bootstrap轮播插件使用代码
2016/10/11 Javascript
浅析jsopn跨域请求原理及cors(跨域资源共享)的完美解决方法
2017/02/06 Javascript
详解vue slot插槽的使用方法
2017/06/13 Javascript
Vue实例中生命周期created和mounted的区别详解
2017/08/25 Javascript
详解vue.js下引入百度地图jsApi的两种方法
2018/07/27 Javascript
Vue中全局变量的定义和使用
2019/06/05 Javascript
小程序使用分包的示例代码
2020/03/23 Javascript
Python3实现的腾讯微博自动发帖小工具
2013/11/11 Python
Python开发的单词频率统计工具wordsworth使用方法
2014/06/25 Python
仅用500行Python代码实现一个英文解析器的教程
2015/04/02 Python
Python中super()函数简介及用法分享
2016/07/11 Python
Python实现针对中文排序的方法
2017/05/09 Python
python实现可视化动态CPU性能监控
2018/06/21 Python
python输出带颜色字体实例方法
2019/09/01 Python
django框架F&amp;Q 聚合与分组操作示例
2019/12/12 Python
Python模拟登录和登录跳转的参考示例
2020/10/30 Python
意大利体育用品网上商城:Nencini Sport
2016/08/18 全球购物
制药工程专业毕业生推荐信
2013/12/24 职场文书
高三语文教学反思
2014/01/15 职场文书
红领巾广播站广播稿
2014/02/01 职场文书
2014年入党积极分子学习三中全会思想汇报
2014/09/13 职场文书
初中政治教师教学反思
2016/02/23 职场文书