شرح صفوف ومحتوى الفقرة
تجنب تقسيم نص location.search يدوياً عبر split("&")؛ فالتقسيم اليدوي يفشل مع المسافات المرمّزة (%20 أو +) وكلمات البحث العربية وتكرار المفاتيح. بدلاً من ذلك، مرر النص مباشرةً إلى الباني القياسي new URLSearchParams(window.location.search):
params.get("q"): تقرأ القيمة وتفك ترميزها تلقائياً (أو تُرجعnullعند غيابها).params.has("featured"): تتحقق منطقياً من وجود المعامل في الرابط.params.set("page", "2")معparams.toString(): تبني نص استعلام مرمّز ونظيف بأمان تام.
JavaScript
const sampleQuery = '?topic=bom+location&page=3&lang=ar';
const params = new URLSearchParams(sampleQuery);
params.set('page', '4');
document.getElementById('qp-out').textContent =
'topic: ' + params.get('topic') + '\n' +
'has lang: ' + params.has('lang') + '\n' +
'next query: ?' + params.toString();