Problem:
Sie müssen den URL-Parameter „rows“ ändern in einer bestimmten URL auf einen bestimmten Wert oder fügen Sie ihn mit einem Standardwert hinzu, wenn dies nicht der Fall ist existieren.
Lösung:
Verwenden Sie JavaScript-Funktionen wie updateURLParameter, um URL-Parameter zu bearbeiten. Hier ist eine erweiterte Version des in der Problemantwort bereitgestellten Codes:
/** * http://stackoverflow.com/a/10997390/11236 */ function updateURLParameter(url, param, paramVal) { let newAdditionalURL = ""; const tempArray = url.split("?"); const baseURL = tempArray[0]; let additionalURL = tempArray[1]; let temp = ""; if (additionalURL) { const additionalURLArray = additionalURL.split("&"); additionalURLArray.forEach((paramValue) => { if (paramValue.split('=')[0] != param) { newAdditionalURL += temp + paramValue; temp = "&"; } }); } const rows_txt = temp + "" + param + "=" + paramVal; return baseURL + "?" + newAdditionalURL + rows_txt; } // Function Calls: const newURL1 = updateURLParameter(window.location.href, 'locId', 'newLoc'); const newURL2 = updateURLParameter(newURL1, 'resId', 'newResId'); window.history.replaceState('', '', updateURLParameter(window.location.href, "param", "value"));
Aktualisierte Version zur Handhabung von URL-Ankern:
function updateURLParameter(url, param, paramVal) { let TheAnchor = null; let newAdditionalURL = ""; const tempArray = url.split("?"); const baseURL = tempArray[0]; let additionalURL = tempArray[1]; let temp = ""; if (additionalURL) { const tmpAnchor = additionalURL.split("#"); TheParams = tmpAnchor[0]; TheAnchor = tmpAnchor[1]; if (TheAnchor) additionalURL = TheParams; const tempArray = additionalURL.split("&"); tempArray.forEach((paramValue) => { if (paramValue.split('=')[0] != param) { newAdditionalURL += temp + paramValue; temp = "&"; } }); } else { const tmpAnchor = baseURL.split("#"); TheParams = tmpAnchor[0]; TheAnchor = tmpAnchor[1]; if (TheParams) baseURL = TheParams; } if (TheAnchor) paramVal += "#" + TheAnchor; const rows_txt = temp + "" + param + "=" + paramVal; return baseURL + "?" + newAdditionalURL + rows_txt; }
Das obige ist der detaillierte Inhalt vonWie kann ich URL-Parameter ändern und Standardwerte mit JavaScript festlegen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!