Heim > Web-Frontend > js-Tutorial > Wie kann ich URL-Parameter ändern und Standardwerte mit JavaScript festlegen?

Wie kann ich URL-Parameter ändern und Standardwerte mit JavaScript festlegen?

Susan Sarandon
Freigeben: 2024-11-11 01:22:02
Original
822 Leute haben es durchsucht

How can I modify URL parameters and specify defaults using JavaScript?

URL-Parameter ändern und Standardeinstellungen mit JavaScript festlegen

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"));
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage