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 Transition属性(平滑过渡菜单栏案例)
Sep 05 HTML / CSS
html5理解head_动力节点Java学院整理
Jul 13 HTML / CSS
HTML5 Canvas实现平移/放缩/旋转deom示例(附截图)
Jul 04 HTML / CSS
HTML5 Canvas阴影使用方法实例演示
Aug 02 HTML / CSS
Html5新特性用canvas标签画多条直线附效果截图
Jun 30 HTML / CSS
用HTML5制作一个简单的桌球游戏的教程
May 12 HTML / CSS
使用canvas对多图片拼合并导出图片的方法
Aug 28 HTML / CSS
canvas压缩图片以及卡片制作的方法示例
Dec 04 HTML / CSS
HTML里显示pdf、word、xls、ppt的方法示例
Apr 14 HTML / CSS
AmazeUI 面板的实现示例
Aug 17 HTML / CSS
html form表单基础入门案例讲解
Jul 21 HTML / CSS
css 边框添加四个角的实现代码
Oct 16 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下实现一个阿拉伯数字转中文数字的函数
2008/07/10 PHP
php中关于codeigniter的xmlrpc的类在进行数据交换时的类型问题
2011/07/03 PHP
PHP版 汉字转码的实现详解
2013/06/09 PHP
ThinkPHP模版引擎之变量输出详解
2014/12/05 PHP
php+mysql大量用户登录解决方案分析
2014/12/29 PHP
Javascript与vbscript数据共享
2007/01/09 Javascript
JavaScript判断变量是否为undefined的两种写法区别
2013/12/04 Javascript
js与运算符和或运算符的妙用
2014/02/14 Javascript
jquery mobile的触控点击事件会多次触发问题的解决方法
2014/05/08 Javascript
Js为表单动态添加节点内容的方法
2015/02/10 Javascript
JS实现自动切换文字的导航效果代码
2015/08/27 Javascript
跟我学习javascript的this关键字
2020/05/28 Javascript
Angular中ng-bind和ng-model的区别实例详解
2017/04/10 Javascript
JS实现图片预览的两种方式
2017/06/27 Javascript
详解在Angular项目中添加插件ng-bootstrap
2017/07/04 Javascript
React中使用collections时key的重要性详解
2017/08/07 Javascript
JS库之ParticlesJS使用简介
2017/09/12 Javascript
Vue中使用vue-i18插件实现多语言切换功能
2018/04/25 Javascript
使用layer弹窗和layui表单实现新增功能
2018/08/09 Javascript
JavaScript静态作用域和动态作用域实例详解
2019/06/17 Javascript
JS回调函数深入理解
2019/10/16 Javascript
vue页面更新patch的实现示例
2020/03/25 Javascript
vue+element 实现商城主题开发的示例代码
2020/03/26 Javascript
js实现QQ邮箱邮件拖拽删除功能
2020/08/27 Javascript
Python用Pillow(PIL)进行简单的图像操作方法
2017/07/07 Python
Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法
2019/09/24 Python
Booking.com西班牙:全球酒店预订
2018/03/30 全球购物
美国隐形眼镜网上商店:Lens.com
2019/09/03 全球购物
abstract class和interface有什么区别
2013/08/04 面试题
教学大赛获奖感言
2014/01/15 职场文书
2014年大学生职业规划书:未来不是梦,只要勇敢冲!
2014/09/22 职场文书
骨干教师申报材料
2014/12/17 职场文书
介绍信怎么写
2015/01/30 职场文书
硕士论文致谢范文
2015/05/14 职场文书
人代会简报
2015/07/21 职场文书
Python django中如何使用restful框架
2021/06/23 Python