هناك طريقتان للحصول على معلمات شريط العناوين في JS: الأول هو استخدام تعبيرات منتظمة للحصول على معلمات شريط العناوين ، والثاني طريقة تقليدية نسبيا. هنا ، يوصي المحرر بقوة باستخدام الطريقة الأولى ، والتي هي مريحة وعملية. يرجى الاطلاع على التفاصيل أدناه لعملية التنفيذ المحددة.
الطريقة 1: استخدم تعبيرات منتظمة للحصول على معلمات شريط العناوين: (موصى بها للغاية ، عمليًا ومريحًا!)
الدالة getQueryString (name) {var reg = new regexp ("(^| &)" + name + "= ([^&]*) (& | $)") ؛ var r = window.location.search.substr (1) .Match (reg) ؛ if (r! = null) unescape (r [2]) ؛ إرجاع فارغ ؛}// طريقة الاتصال
تنبيه (getquerystring ("اسم المعلمة 1")) ؛
تنبيه (getquerystring ("اسم المعلمة 2")) ؛
تنبيه (getquerystring ("اسم المعلمة 3")) ؛
هنا مثال:
إذا كان عنوان URL لشريط العناوين هو: ABC.HTML؟ id = 123 & url = http: //www.maidq.com
ثم ، لكنك تستخدم الطريقة أعلاه للاتصال: ALERT (getquerystring ("url")) ؛
سيظهر مربع حوار: المحتوى هو http://www.maidq.com
إذا كنت تستخدم: ALERT (getquerystring ("id")) ؛ ثم المحتوى المنبثق هو 123 ؛
بالطبع ، إذا لم تقم بتمرير معلمات ، على سبيل المثال ، إذا كان عنوانك هو ABC.HTML ولم يكن هناك معلمة بعد ذلك ، فعندئذ ستبلغ نتيجة استدعاء الإخراج القسري في بعض الأحيان عن خطأ:
لذلك نحتاج إلى إضافة حكم لتحديد ما إذا كانت المعلمة التي نطلبها فارغة ، وقم أولاً بتعيين القيمة إلى متغير:
var myurl = getquerystring ("url") ؛ if (myurl! = null && myurl.toString (). طول> 1) {Alert (getQuerystring ("url") ؛}وبهذه الطريقة لن يبلغ عن خطأ!
الطريقة 2: الطريقة التقليدية
<script type = "text/javaScript"> urlsearch () {var name ، value ؛ var str = location.href ؛ // احصل على شريط العنوان بالكامل var num = str.indexof ("؟") str = str.substr (num+1) ؛ // احصل على جميع المعلمات stringvar.substr (ابدأ [، طول] var arr = str.split ("&") ؛ // ضع كل معلمة في الصفيف (var i = 0 ؛ i <arr.length ؛ i ++) {num = arr [i] name = arr [i] .SubString (0 ، num) ؛ value = arr [i]على سبيل المثال ، احفظ هذا الرمز كـ 1.HTML
ثم أريد الوصول إلى 1.html؟ معرف = اختبار
في هذا الوقت ، يتم الحصول على قيمة الاختبار
ودعا في HTML
<script type = "text/javaScript"> var a = "http://baidu.com" ؛ </script> </head> <body> <a id = "a1" href = ""> sadfsdfas </a> <script> var a1 = document.getElementByid ("a1) ؛ a1.href = var a = "http://xxx.com/gg.htm؟cctv" ؛ var s = a.indexof ("؟") ؛ var t = a.substring (s+1) ؛ // t هو ما يأتي بعده </script>StringVar.Substr (ابدأ [، طول]
إرجاع سلسلة من الطول المحدد بدءًا من الموضع المحدد.
StringVar
الخيار المطلوب. سلسلة حرفية أو كائن سلسلة لاستخراج سلسلة فرعية.
يبدأ
الخيار المطلوب. موضع بداية الفرعية المطلوبة. فهرس الحرف الأول في السلسلة هو 0.
طول
خياري. عدد الأحرف التي يجب تضمينها في السلسلة الفرعية التي تم إرجاعها.
إذا كان الطول 0 أو سلبيًا ، فسيتم إرجاع سلسلة فارغة. إذا لم يتم تحديد هذه المعلمة ، يستمر السلسلة الفرعية إلى نهاية StringVar.
فيما يلي بعض المعلمات ذات الصلة:
str.tolowercase () يتحول إلى أحرف صغيرة
str.touppercase () يتم تحويل جميع السلاسل إلى أحرف كبيرة
عنوان URL هو: محدد الموارد الموحدة (URL)
يتكون عنوان URL الكامل من هذه الأجزاء:
مخطط: // المضيف: منفذ/مسار؟ استعلام#جزء
مخطط: بروتوكول الاتصال
شائع الاستخدام HTTP ، FTP ، Maito ، إلخ.
المضيف: مضيف
خادم (الكمبيوتر) نظام اسم المجال (DNS) اسم المضيف أو عنوان IP.
المنفذ: رقم المنفذ
عدد صحيح ، اختياري ، عند حذفه ، يتم استخدام المنفذ الافتراضي للمخطط ، مثل منفذ HTTP الافتراضي هو 80.
المسار: المسار
يتم استخدام سلسلة مفصولة برموز صفر أو متعددة "/" عمومًا لتمثيل دليل أو عنوان ملف على المضيف.
استعلام: استعلام
اختياريا ، يتم استخدامه لتمرير المعلمات إلى صفحات الويب الديناميكية (مثل صفحات الويب التي تم إجراؤها باستخدام CGI و ISAPI و PHP/JSP/ASP/ASP.NET وغيرها من التقنيات). يمكن أن يكون هناك معلمات متعددة ، مفصولة برمز "&" ، ويتم فصل اسم وقيمة كل معلمة بواسطة "=" الرمز.
جزء: جزء المعلومات
سلسلة تحدد أجزاء في مورد الشبكة. على سبيل المثال ، هناك تفسيرات متعددة الأسماء في صفحة ويب ، ويمكنك استخدام جزء لتحديد موقع شرح معين مباشرة. (المعروف أيضا باسم نقاط المرساة.)
لمثل عنوان URL
http://www.maidq.com/index.html؟ver=1.0&id=6#imhere
يمكننا الحصول على أجزاء مختلفة منه في جافا سكريبت
1 ، window.location.href
سلسلة عنوان URL بأكملها (شريط العناوين الكامل في المتصفح)
قيمة الإرجاع في هذا المثال: http://www.maidq.com/index.html؟ver=1.0&id=6#imhere
2 ، window.location.protocol
جزء البروتوكول من عنوان URL
هذا المثال يعيد القيمة: http:
3 ، window.location.host
الجزء المضيف من عنوان URL
قيمة الإرجاع في هذا المثال: www.maidq.com
4 ، window.location.port
جزء المنفذ من عنوان URL
إذا تم استخدام منفذ 80 افتراضيًا (تحديث: حتى لو تمت إضافة: 80) ، فإن قيمة الإرجاع ليست الافتراضي 80 ولكن الشخصية الفارغة
هذا المثال يعيد القيمة: ""
5 ، window.location.pathName
جزء المسار من عنوان URL (هذا هو عنوان الملف)
يعيد هذا المثال القيمة: /fisker/post/0703/window.location.html
6 ، window.location.search
الاستعلام (المعلمات) جزء
بالإضافة إلى تعيين قيم للغات الديناميكية ، يمكننا أيضًا إعطاء صفحات ثابتة واستخدام JavaScript للحصول على قيمة المعلمة التي يُعتقد أنها.
قيمة الإرجاع في هذا المثال:؟ ver = 1.0 & id = 6
7 ، window.location.hash
نقطة مرساة
قيمة الإرجاع في هذا المثال: #Imhere
ما سبق هو الوصف الكامل للطريقتين (البسيط والعملي) من JS للحصول على معلمات شريط العناوين التي أدخلها المحرر. آمل أن يكون ذلك مفيدًا للجميع. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر على الجميع في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!