1
1
export function hasUrlParameter ( paramName ) {
2
2
const url = window . location . search || window . location . hash ;
3
- if ( window . URLSearchParams ) {
4
- const urlParams = new URLSearchParams ( url ) ;
5
- return urlParams . has ( paramName ) ;
6
- } else {
7
- // if browser doesn't support URLSearchParams
8
- const hasUrlParam = ( name ) => {
9
- name = name
10
- . replace ( new RegExp ( "[\\[]" ) , "\\[" )
11
- . replace ( new RegExp ( "[\\]]" ) , "\\]" ) ;
12
- var regex = new RegExp ( "[\\?&]" + name + "[&|=]([^&#]*)" ) ;
13
- var results = regex . exec ( url ) ;
14
- return ! ! results ;
15
- } ;
16
- return hasUrlParam ( paramName ) ;
17
- }
3
+ const urlParams = new URLSearchParams ( url ) ;
4
+ return urlParams . has ( paramName ) ;
18
5
}
19
6
20
7
export function getUrlParameter ( paramName ) {
@@ -23,57 +10,21 @@ export function getUrlParameter(paramName) {
23
10
if ( splitted . length !== 2 ) return '' ;
24
11
25
12
const url = `?${ splitted [ 1 ] } ` ;
26
- if ( window . URLSearchParams ) {
27
- const urlParams = new URLSearchParams ( url ) ;
28
- if ( urlParams . has ( paramName ) ) {
29
- const values = urlParams . getAll ( paramName ) ;
30
- // use the latest one
31
- value = values . length > 0 ? values [ values . length - 1 ] : "" ;
32
- }
33
- } else {
34
- // if browser doesn't support URLSearchParams
35
- const getUrlParam = ( name ) => {
36
- name = name
37
- . replace ( new RegExp ( "[\\[]" ) , "\\[" )
38
- . replace ( new RegExp ( "[\\]]" ) , "\\]" ) ;
39
- var regex = new RegExp ( "[\\?&]" + name + "=([^&#]*)" ) ;
40
- var results = regex . exec ( url ) ;
41
- return results === null
42
- ? ""
43
- : decodeURIComponent ( results [ 1 ] . replace ( / \+ / g, " " ) ) ;
44
- } ;
45
- value = getUrlParam ( paramName ) ;
13
+ const urlParams = new URLSearchParams ( url ) ;
14
+ if ( urlParams . has ( paramName ) ) {
15
+ const values = urlParams . getAll ( paramName ) ;
16
+ // use the latest one
17
+ value = values . length > 0 ? values [ values . length - 1 ] : "" ;
46
18
}
47
19
return value ;
48
20
}
49
21
50
22
export function getAllUrlParameterValues ( paramName ) {
51
23
const url = window . location . search || window . location . hash ;
52
24
let values = [ ] ;
53
- if ( window . URLSearchParams ) {
54
- const urlParams = new URLSearchParams ( url ) ;
55
- if ( urlParams . has ( paramName ) )
56
- values = urlParams . getAll ( paramName ) ;
57
- } else {
58
- // if browser doesn't support URLSearchParams
59
- const getUrlParams = ( name ) => {
60
- const res = [ ] ;
61
- name = name
62
- . replace ( new RegExp ( "[\\[]" ) , "\\[" )
63
- . replace ( new RegExp ( "[\\]]" ) , "\\]" ) ;
64
- var regex = new RegExp ( "[\\?&]" + name + "=([^&#]*)" ) ;
65
- let results ;
66
- let str = url ;
67
- while ( ( results = regex . exec ( str ) ) != null ) {
68
- console . log ( 'results' , results ) ;
69
- str = str . substring ( results . index + 1 ) ;
70
- console . log ( str ) ;
71
- res . push ( decodeURIComponent ( results [ 1 ] . replace ( / \+ / g, " " ) ) ) ;
72
- }
73
- return res ;
74
- } ;
75
- values = getUrlParams ( paramName ) ;
76
- }
25
+ const urlParams = new URLSearchParams ( url ) ;
26
+ if ( urlParams . has ( paramName ) )
27
+ values = urlParams . getAll ( paramName ) ;
77
28
78
29
return values ;
79
30
}
0 commit comments