@@ -95,22 +95,23 @@ export function loadCSS(src) {
9595}
9696
9797// Pour gérer les paramètres dans l'URL
98- export function getParamsFromURL ( ) {
99- const params1 = Object . fromEntries (
100- new URLSearchParams ( document . location . search ) ,
101- ) ;
102- // Version sécurisée : les paramètres sont dans le hash et ne sont donc pas envoyés au serveur
103- const hash = window . location . hash ;
104- const indexStartParams = hash . indexOf ( "?" ) ;
105- const hasParamsInHash = indexStartParams > - 1 ;
106- const paramsInHash = hasParamsInHash
107- ? hash . substring ( indexStartParams + 1 )
108- : "" ;
109- const params2 = hasParamsInHash
110- ? Object . fromEntries ( new URLSearchParams ( paramsInHash ) )
98+ export function getParamsFromURL (
99+ queryString = window . location . search ,
100+ urlHash = window . location . hash ,
101+ ) {
102+ const paramsFromQuery = Object . fromEntries ( new URLSearchParams ( queryString ) ) ;
103+ // Version sécurisée (hashHasParams) : les paramètres sont dans le hash et ne sont donc pas envoyés au serveur
104+ const hashHasParams = urlHash . includes ( "?" ) ;
105+ const hashQueryPart = hashHasParams ? urlHash . split ( "?" ) [ 1 ] : "" ;
106+ const paramsFromHash = hashHasParams
107+ ? Object . fromEntries ( new URLSearchParams ( hashQueryPart ) )
111108 : { } ;
112- const params = { ...params1 , ...params2 } ;
113- return params ;
109+
110+ // Les paramètres dans le hash (#hash?p=1) écrasent les paramètres classiques dans l'URL (?p=2)
111+ return {
112+ ...paramsFromQuery ,
113+ ...paramsFromHash ,
114+ } ;
114115}
115116
116117// Pour ouvrir un nouveau chatbot
0 commit comments