HTML/Xhtml
主页 > 网页 > HTML/Xhtml >

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

2022-08-09 | 酷站 | 点击:

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

原因

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

解决

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

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

有如下几种方法

1

2

3

4

5

6

7

8

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

1

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

3、测试页面

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

<!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时结果为:

在这里插入图片描述

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

在这里插入图片描述

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

原文链接:
相关文章
最新更新