私はいくつかの魔法に苦しんでいます。私はクリックでURLからparametr値を削除しようとしている:VARからJavascript double string.replace()
function removeParam(name, value) {
var newUrl = window.location.href.split("?")[0],
sourceURL = window.location.href,
param,
params_arr = [],
queryString = (sourceURL.indexOf("?") !== -1) ? sourceURL.split("?")[1] : "";
if (queryString !== "") {
params_arr = queryString.split("&");
for (var i = params_arr.length - 1; i >= 0; i -= 1) {
param = params_arr[i].split("&")[0];
if (param.indexOf(name) !== -1) {
if (params_arr[i].indexOf("%s") !== -1) {
params_arr[i] = param.replace("%s" + value , "");
params_arr[i] = param.replace(value , "");
}
else {
params_arr[i] = param.replace(name + "=" + value, "");
}
}
}
if (params_arr[0] !== "") {
newUrl = newUrl + "?" + params_arr.join("&");
}
}
window.history.pushState(null,"", newUrl);
削除値C
ソースURL:/?var=A%sB%sC
URL-する必要があります:/?var=A%sB
などの対応する値を持つ複数のパラメータを持つことができます。ソースURL: それは、セパレータなしのみCを削除します:
しかし、魔法は私が二列strを追加した場合ということです%sの
どのようにそれを修正するには?
ヘッドから値を削除する必要があるため、この2番目の置換を追加しました。
ですから、URL値を取得したいみては? [Location](https://developer.mozilla.org/en-US/docs/Web/API/Location)オブジェクトはどうですか? –
私はそれを行う方法を知っています:)私はなぜ私は別のstr.replaceを追加する場合は、区切り記号を追加する理由を理解していない。デバッガで私は2番目のstr.replaceが何もしないことを見ることができますが、次のステップでは何の理由もなしにセパレータを魔法のように追加します – Scorpa