Bonjour,
Je cherche à extraire les paramètres de l'Url

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
J'ai cherché sur le net et j'en suis arrivé à ce code:

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');
- Mon soucis est le suivant : comment je fais pointer la fonction 'getUrlParameter()' sur l'adresse 'http://sail.zezo.org/*/chart.pl?lat=*&lon=*&userid=*' ?

- Je souhaite également extraire le nom de la course, est qu'avec ce code ça peut fonctionner ?
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";
        }
    }
}
Merci d'éclairer ma lanterne

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:&nbsp;(.*)<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&nbsp;content&nbsp;:<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.