Rumah > hujung hadapan web > tutorial js > Bagaimanakah saya boleh mengubah suai parameter URL dan menentukan lalai menggunakan JavaScript?

Bagaimanakah saya boleh mengubah suai parameter URL dan menentukan lalai menggunakan JavaScript?

Susan Sarandon
Lepaskan: 2024-11-11 01:22:02
asal
815 orang telah melayarinya

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

Tukar Parameter URL dan Tentukan Lalai Menggunakan JavaScript

Masalah:

Anda perlu mengubah suai parameter URL 'baris' dalam URL yang diberikan kepada nilai tertentu atau tambahkannya dengan nilai lalai jika ia tidak wujud.

Penyelesaian:

Gunakan fungsi JavaScript seperti updateURLParameter untuk memanipulasi URL parameter. Berikut ialah versi lanjutan kod yang disediakan dalam jawapan masalah:

/**
 * 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"));
Salin selepas log masuk

Versi Kemas Kini Pengendalian Sauh URL:

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;
}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah saya boleh mengubah suai parameter URL dan menentukan lalai menggunakan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan