J'ai vu beaucoup d'exemples de jQuery où la taille et le nom de paramètre sont inconnus. Mon URL ne va jamais avoir une seule chaîne:
http://example.com?sent=yes
Je veux juste détecter:
- Est-ce que
sent
existe? - Est-ce égal à "oui"?
J'ai vu beaucoup d'exemples de jQuery où la taille et le nom de paramètre sont inconnus. Mon URL ne va jamais avoir une seule chaîne:
http://example.com?sent=yes
Je veux juste détecter:
sent
existe? Meilleure solution ici .
function getUrlParameter(sParam)
{
var sPageURL = window.location.search.substring(1);
var sURLVariables = sPageURL.split('&');
for (var i = 0; i < sURLVariables.length; i++)
{
var sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] == sParam)
{
return sParameterName[1];
}
}
}
Et voici comment vous pouvez utiliser cette fonction en supposant que l'URL est, http://dummy.com/?technology=jquery&blog=jquerybyexample
.
var tech = getUrlParameter('technology');
var blog = getUrlParameter('blog');
Extrait de code jQuery pour obtenir les variables dynamiques stockées dans l'URL en tant que paramètres et les stocker en tant que variables JavaScript prêtes à être utilisées avec vos scripts:
$.urlParam = function(name){
var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href);
if (results==null){
return null;
}
else{
return results[1] || 0;
}
}
example.com?param1=name¶m2=&id=6
$.urlParam('param1'); // name
$.urlParam('id'); // 6
$.urlParam('param2'); // null
exemple params avec des espaces
http://www.jquery4u.com?city=Gold Coast
console.log($.urlParam('city'));
//output: Gold%20Coast
console.log(decodeURIComponent($.urlParam('city')));
//output: Gold Coast
Peut-être pourriez-vous donner un coup d'œil à Dentist JS? (avertissement: j'ai écrit le code)
code:
document.URL == "http://helloworld.com/quotes?id=1337&author=kelvin&message=hello"
var currentURL = document.URL;
var params = currentURL.extract();
console.log(params.id); // 1337
console.log(params.author) // "kelvin"
console.log(params.message) // "hello"
Avec Dentist JS, vous pouvez appeler la fonction extract () sur toutes les chaînes (par exemple, document.URL.extract ()) et vous obtenez une HashMap de tous les paramètres trouvés. Il est également personnalisable pour gérer les délimiteurs et tout.
Version miniaturisée <1kb
Essayez cette démo de travail http://jsfiddle.net/xy7cX/
API:
inArray
: http://api.jquery.com/jQuery.inArray/ Cela devrait aider :)
code
var url = "http://myurl.com?sent=yes"
var pieces = url.split("?");
alert(pieces[1] + " ===== " + $.inArray("sent=yes", pieces));
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.