مقدمة
أولاً ، نحن بحاجة إلى معرفة ماهية البحث. البحث هو خاصية Window.location. على سبيل المثال:
بادئ ذي بدء ، لدينا عنوان URL هنا ، وهو http://www.a.com/list/2.html؟page=2&color=4&size=3#pic.
عندما نصل إلى هذا العنوان ، افتح وحدة التحكم ، أدخل window.lock ، وسنحصل على النتيجة في الشكل التالي
كما ذكر أعلاه ، ما نريد تشغيله هو جزء من المربع في الصورة أعلاه.
لماذا تحتاج لتشغيل هذا؟
على سبيل المثال ، إذا كنت بحاجة إلى القفز إلى الصفحة الثالثة في الصفحة الثانية ، فأنا بحاجة إلى تحديث الصفحة أعلاه = 2 إلى الصفحة = 3 والتأكد من الاحتفاظ بمعلمات أخرى.
أو ، لم تكن هناك نتيجة بحث في البداية (مثل الصفحة الأولى من القائمة العامة ، لم يكن هناك شيء) ، لكن الآن أحتاج إلى إضافة صفحة = 2.
بعد ذلك ، أحتاج إلى معرفة الصفحة التي أقوم بها الآن ، أي أنني بحاجة إلى الحصول على قيمة الصفحة.
لذلك ، البحث مطلوب. الآن يتم فصلنا عن النهايات الأمامية والخلفية ، والبحث هو طريقة مهمة للغاية لتكوين المعلمة.
طريقة البناء
احصل على قيمة معلمة محددة في البحث
خذ بايدو ووجدنا الطريقة التالية:
الدالة getQueryString (name) {var reg = new regexp ("(^| &)" + name + "= ([^&]*) (& | $)") ؛ var r = window.location.search.substr (1) .Match (reg) ؛ if (r! = null) unescape (r [2]) ؛ إرجاع فارغ ؛}مصدر الطريقة: طريقة للحصول على معلمات شريط العناوين باستخدام JS
طريقة الوظيفة الكاملة
أردت أصلاً أن أكتب فكرة تنفيذ ، لكنني لم أستطع تذكرها لفترة من الوقت ، لذلك أعطيتها مباشرة للطريقة النهائية:
دالة funcurl (الاسم ، القيمة ، اكتب) {var loca = window.location ؛ var baseurl = type == undefined؟ loca.origin + loca.pathname + "؟" : "" ؛ var query = loca.search.substr (1) ؛ // إذا لم يكن هناك ناقل حركة معلمة ، فإن قيمة البحث الإرجاع لا تحتوي على علامة أسئلة إذا (name == undefined) {return query} // إذا لم يكن هناك أي نقل قيمة ، فأرجع قيمة المعلمة المراد الاستعلام (value == undefined) {var val = query.match ( +"= ([^&]*) (& | $)") ؛ إرجاع Val! = null؟ unescape (val [2]): null ؛} ؛ var url ؛ if (query == "") {// إذا لم تكن هناك قيمة بحث ، فأرجع إلى urlurl مع المعلمة الملحقة = baseurl + name + "=" + value ؛ query.split ("&") ؛ for (var i = 0 ؛ i <arr.length ؛ i ++) {arr [i] = arr [i] json.stringify (obj) .replace (/[/"/{/}]/g ،" "). استبدال (//:/g ،" = "). استبدال (// ،/g ،" & ") ؛} ؛ url ؛}كيفية استخدام
تحصل Funcurl () على قيمة البحث الكامل (لا تشمل علامات الأسئلة)
Funcurl (الاسم) يعيد قيمة الاسم في عنوان URL (دمج الفقرة السابقة من أساليب الآخرين)
Funcurl (الاسم ، القيمة) اضبط قيمة الاسم في البحث إلى القيمة وإرجاع عنوان URL الكامل
إرجاع محتوى مثل http://www.a.com/list/2.html؟page=2&color=4&size=3#pic
وظائف Funcurl (الاسم ، القيمة ، النوع) هي نفسها العنصر الثالث ، ولكن هذا يعيد فقط سلسلة البحث المحدثة
النوع هنا يمكن أن يكون أي حرف ، مثل 1 ؛
إرجاع صفحة مثال المحتوى = 2 & color = 4 & size = 3 ؛
يستخدم بشكل عام للحصول على معلمات من عنوان URL ثم ترسيخ على الواجهة
ملخص
أردت أصلاً أن أجد مكونًا إضافيًا جاهزًا للاستخدام ، لكن كان إما أن أفهمه أو ليس سهلاً في الاستخدام. بالطبع ، كان ذلك أساسًا لأن مستواي كان ضعيفًا جدًا.
لذلك صنعت عجلة للعب معها. على الرغم من أن الكود ليس أنيقًا بما فيه الكفاية ، إلا أنه لا يزال يلبي احتياجاتي. إذا كان لديك اقتراحات أفضل ، فاترك لي رسالة.
في الواقع ، يتم استخدامه بشكل أساسي مع VUE ، ولكن لا يوجد محتوى VUE هنا ، لذلك لا يعتبر سلسلة من البرامج التعليمية لـ VUE.
ما سبق هو الوصف الكامل لبعض الطرق ووظائف البحث في url JavaScript ORL التي قدمها لك المحرر. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!