Existe-t-il un moyen de gérer facilement les URL de manipulation en JavaScript?Existe-t-il un moyen JavaScript simple de manipuler des URL arbitraires?
Un peu de contexte:
Je veux utiliser ThickBox, la boîte popup modale jQuery populaire, mais discrètement. Selon la documentation ThickBox je dois donner tous les liens que je veux être en modal une classe CSS de « thickbox » et changer l'URL ...
... à:
http://www.mysite.com/mypopup?height=200&width=300
Je veux que cela se produise seulement si JavaScript est activé. Donc, j'obtiens tous les liens en utilisant jQuery et "hack" une détection pour le '?' caractère dans l'URL, en ajoutant "& hauteur ..." ou "? hauteur ..." en conséquence.
Dans le plus grand des cas, cela pourrait brouiller les choses si l'URL a déjà un paramètre "height", auquel cas je pourrais juste vouloir mettre à jour l'existant plutôt que d'en donner deux.
Tout sent un peu. J'ai l'impression de pirater le code qui peut/doit avoir été fait correctement une fois déjà!
Ma question est la suivante:
Y at-il quelque chose dans le monde JavaScript (plugin ou non) qui me permettrait de quelque chose comme ceci:
var url = Url(elm.attr("href"));
url.parameter("width", "300");
url.parameter("height", "200");
elm.attr("href", url.toString())
Ou:
var height = Url(elm.attr("href")).parameter("height");
Nice .. mais cela ne me permet pas de définir les paramètres de chaîne de requête d'URL.La clé consistait à manipuler les URL (ou HREF pourrait être une meilleure façon de le mettre). Je pourrais mettre à jour cette méthode pour prendre une URL comme paramètre très facilement (par opposition à travailler avec window.location.href), mais cela ne me permettra pas de changer ou d'ajouter des paramètres de chaîne de requête. – joshcomley
Mon commentaire précédent est maintenant à propos d'une réponse complètement différente! – joshcomley
@joshcomley - Je remets tout ça pour que ton commentaire ait une signification à nouveau. – karim79