Bonjour,
Je cherche à extraire les paramètres de l'Url
J'ai cherché sur le net et j'en suis arrivé à ce code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part exemple : http://sail.zezo.org/clipperton-noumea/chart.pl?lat=-16.42123&lon=-151.3126&userid=1234567
- Mon soucis est le suivant : comment je fais pointer la fonction 'getUrlParameter()' sur l'adresse 'http://sail.zezo.org/*/chart.pl?lat=*&lon=*&userid=*' ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 function getUrlParameter(name) { name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]'); var regex = new RegExp('[\\?&]' + name + '=([^&#]*)'); var results = regex.exec(location.search); return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' ')); } getUrlParameter('lat'); getUrlParameter('lon'); getUrlParameter('userid');
- Je souhaite également extraire le nom de la course, est qu'avec ce code ça peut fonctionner ?
Merci d'éclairer ma lanterne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 var race = function name_race(url) function name_race(url) { if (url) { if (url.match(/clipperton-noumea/)) { race = "Clipperton - Nouméa"; } else if (url.match(/900nq/)) { race = "Au large de Saint Tropez - 900 Milles"; } } }
PS: Voici le code du script actuel qui agit sur un fichier html
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119 <html> <head> <meta charset="UTF-8"> <script> // returns info from the html file content function info_from_file_content(_content) { var res = []; res['course'] = /<title>(.*)<\/title>/g.exec(_content)[1]; res['lat'] = parseFloat(/var boat_lat = (.*);/g.exec(_content)[1]); res['lon'] = parseFloat(/var boat_lon = (.*);/g.exec(_content)[1]); return res; } // Convert lon / lat decimal to degree minute second function dms_lon(lon) { var NS = (lon>=0)?'E':'W' var d_lon = Math.trunc(lon); var x_lon = (lon - d_lon) * 60; var m_lon = Math.trunc(x_lon); var y_lon = (x_lon - m_lon) * 60; s_lon = Math.trunc(y_lon); d_lon = Math.abs(d_lon); m_lon = Math.abs(m_lon); s_lon = Math.abs(s_lon); var bd_lon = (d_lon>=100)?d_lon:'0'+d_lon; var ad_lon = (d_lon>=10)?bd_lon:'00'+d_lon; var am_lon = (m_lon>=10)?m_lon:'0'+m_lon; var as_lon = (s_lon>=10)?s_lon:'0'+s_lon; return ad_lon + '°' + NS + ' ' + am_lon + "'" + as_lon +'"'; } function dms_lat(lat) { var NS = (lat>=0)?'N':'S' var d_lat = Math.trunc(lat); var x_lat = (lat - d_lat) * 60; var m_lat = Math.trunc(x_lat); var y_lat = (x_lat - m_lat) * 60; s_lat = Math.trunc(y_lat); d_lat = Math.abs(d_lat); m_lat = Math.abs(m_lat); s_lat = Math.abs(s_lat); var bd_lat = (d_lat>=100)?d_lat:'0'+d_lat; var ad_lat = (d_lat>=10)?bd_lat:'00'+d_lat; var am_lat = (m_lat>=10)?m_lat:'0'+m_lat; var as_lat = (s_lat>=10)?s_lat:'0'+s_lat; return ad_lat + '°' + NS + ' ' + am_lat + "'" + as_lat +'"'; } // Display info in the table function display_info(_values) { document.getElementById('output_info').innerHTML = '<tr><td align="center">Course VR</td><td align="center">Bateau</td><td align="center">Position</td></tr><tr><td align="center">'+_values['course']+'</td><td align="center">'+_values['bateau']+'</td><td align="center">'+dms_lon(_values['lon'])+' / '+dms_lat(_values['lat'])+'</td></tr>'; } // returns data from the html file content function data_from_file_content(_content) { var expr = /updi\(event\,\'(.*)<br>Distances: (.*)<br><b>Wind:<\/b>(.*)\(<b>TWA(.*);<\/b>\)<br><b>Heading:<\/b>(.*)<b>Sail:<\/b>(.*)<br><b>Boat Speed:<\/b>(.*)','(.*)'\)/gi; var value; var values = []; while(value = expr.exec(_content)) { var res = []; res['date']=value[1]; res['distance']=value[2]; res['wind']=value[3]; res['twa']=value[4]; res['heading']=value[5]; res['sail']=value[6]; res['speed']=value[7]; values.push(res); } return values; } // Display data in the table function display_data(_values) { var table_content = '<tr><td align="center">Date et Heure</td><td align="center">Distance</td><td align="center">Vent</td><td align="center">TWA</td><td align="center">HDG</td><td align="center">Voile</td><td align="center">Vitesse bateau</td></tr>'; for(var l=0; l<_values.length; l++) { var twa = parseFloat(_values[l]['twa']); var twa_color = (twa>=0)?'green':'red'; table_content += '<tr><td align="center">'+_values[l]['date']+'</td><td align="center">'+_values[l]['distance']+'</td><td align="center">'+_values[l]['wind']+'</td><td align="center" style=\'color:'+twa_color+';\'>'+Math.abs(twa)+'°</td><td align="center" style="color:blue" >'+_values[l]['heading']+'</td><td align="center">'+_values[l]['sail']+'</td><td align="center">'+_values[l]['speed']+'</td></tr>'; } document.getElementById('output').innerHTML = table_content; } // This function is called when the button is pushed function button_clicked() { var file_content = document.getElementById('file').value; var info = info_from_file_content( file_content ); display_info( info ); var data = data_from_file_content( file_content ); display_data( data ); } </script> </head> <body style="background-color:grey;"> File content :<br /> <textarea id="file" rows="3"></textarea><br /> <br /> <button onclick="button_clicked();">Extraire Route ZEZO</button><br /> <br /> <table border="3" align="center" bgcolor="white" id="output_info"><tr><td align="center">Course VR</td><td align="center">Bateau</td><td align="center">Position</td></tr></table><br /> <br /> <table border="3" align="center" bgcolor="white" id="output"><tr><td align="center">Date et Heure</td><td align="center">Distance</td><td align="center">Vent</td><td align="center">TWA</td><td align="center">HDG</td><td align="center">Voile</td><td align="center">Vitesse bateau</td></tr></table> </body> </html>
Url a laquelle je souhaite extraire les données : http://sail.zezo.org/clipperton-noum...userid=1577252
c'est le code source de cette page que j'exploite en local ce qui m'oblige à l'afficher, le copier puis le coller dans le code ci dessus.
Partager