l'histoire.pushState() la variation des valeurs de requête
Si j'ai un lien qui est en train d'être modifié avec la fonction history.pushState({}, "", link);
où mon link
est par exemple page.php?value=1&value2=2
Est-il un moyen de simplement changer le value2
avec pushState()
fonction au lieu de changer l'intégralité du lien?
OriginalL'auteur Grigor | 2012-05-02
Vous devez vous connecter pour publier un commentaire.
Si ce que vous essayez de faire est de changer l'URL sans l'ajout d'une entrée supplémentaire à l'histoire de l'objet, vous pouvez essayer de
replaceState
.replaceState
n'affectera pas les valeurs de requête dans l'URL. Seul le dernier argument: Dans cet exemple, il va supprimer la requête tout à fait.L'OP voulais mettre à jour (plutôt que d'en créer un nouveau) une valeur dans le courant de l'histoire de l'état. Si vous ne pouvez pas utiliser pushState à modifier un état de l'objet, c'est le but de replaceState.
OriginalL'auteur devstruck
Non, parce que la chaîne de requête est la partie de l'URL. Si vous n'avez pas vraiment besoin de transmettre ces valeurs aux fins du serveur, vous pouvez les inclure dans l'histoire de l'état de l'objet lui-même, et puis vous pouvez modifier l'état de l'objet avec
pushState()
. Par exemple:OriginalL'auteur Chris Pratt
Vous pouvez utiliser cette fonction utile pour modifier un paramètre de chaîne de requête de la valeur:
url.replace(re, param+'='+value+'$2')
, droit? Sinon, vous perdez l'esperluette délimiteur.OriginalL'auteur ChrisThompson