في تطوير الويب ، غالبًا ما يتم استخدام JavaScript للحصول على معلومات عنوان URL الخاص بالصفحة الحالية. فيما يلي بعض ملخصي الموجز للحصول على معلومات عناوين URL.
دعونا نعطي مثالا على عنوان URL ثم الحصول على مكوناته: http://i.cnblogs.com/editposts.aspx؟opt=1
1. window.location.href (تعيين أو احصل على عنوان URL بأكمله كسلسلة)
var test = window.location.href ؛
تنبيه (اختبار) ؛
العودة: http://i.cnblogs.com/editposts.aspx؟opt=1
2. window.location.protocol (جزء البروتوكول من الإعداد أو الحصول على عنوان URL)
var test = window.location.protocol ؛
تنبيه (اختبار) ؛
العودة: http:
3. window.location.host (تعيين أو احصل على الجزء المضيف من عنوان URL)
var test = window.location.host ؛
تنبيه (اختبار) ؛
العودة إلى: i.cnblogs.com
4. Window.location.port (تعيين أو احصل على رقم المنفذ المرتبط بعنوان URL)
var test = window.location.port ؛
تنبيه (اختبار) ؛
إرجاع: حرف فارغ (إذا تم استخدام منفذ 80 افتراضيًا (تحديث: حتى لو تمت إضافة: 80) ، فإن قيمة الإرجاع ليست الافتراضي 80 ولكن الحرف الفارغ)
5. window.location.pathName (تعيين أو احصل على جزء المسار مع عنوان URL (أي ، عنوان الملف)))
var test = window.location.pathName ؛
تنبيه (اختبار) ؛
العودة: /editposts.aspx
6. window.location.search (تعيين أو احصل على جزء من سمة HREF التي تتبع علامة الاستفهام)
var test = window.location.search ؛
تنبيه (اختبار) ؛
العودة:؟ OPT = 1
ملاحظة: الحصول على جزء الاستعلام (المعلمة). بالإضافة إلى تعيين قيم للغات الديناميكية ، يمكننا أيضًا إعطاء صفحات ثابتة واستخدام JavaScript للحصول على قيمة المعلمة التي نعتقد أنها ينبغي.
7. window.location.hash (تعيين أو احصل على الجزء بعد علامة الجنيه "#" في سمة HREF)
var test = window.location.hash ؛
تنبيه (اختبار) ؛
العودة: حرف فارغ (لأنه لا يوجد في عنوان URL)
8. JS الحصول على قيم المعلمة في url
1. القانون العادي
وظيفة getQueryString (name) {var reg = new regexp ('(^| &)' + name + '= ([^&]*) (& | $)' ، 'i') ؛ var r = window.location.search.substr (1) .Match (reg) ؛ if (r! = null) {return unescape (r [2]) ؛ } return null ؛} // اتصل بهذه الطريقة: ALERT (getquerystring ("اسم المعلمة 1")) ؛ تنبيه (getquerystring ("اسم المعلمة 2")) ؛ تنبيه (getquerystring ("اسم المعلمة 3")) ؛2. طريقة تقسيم الانقسام
دالة getRequest () {var url = location.search ؛ // احصل على السلسلة بعد "؟" الحرف في url var therequest = new Object () ؛ if (url.indexof ("؟")! = -1) {var str = url.substr (1) ؛ strs = str.split ("&") ؛ لـ (var i = 0 ؛ i <strs.length ؛ i ++) {therequest [strs [i] .split ("=" [0]] = unescape (strs [i] .split ("=") [1]) ؛ }} return thatequest ؛} var request = new Object () ؛ request = getRequest () ؛ <br> // var id = request ["id"] ؛ // var parameter 1 ، المعلمة 2 ، المعلمة 3 ، المعلمة n ؛ // المعلمة 1 = طلب ['المعلمة 1'] ؛ // المعلمة 2 = طلب ['المعلمة 2'] ؛ // المعلمة 3 = طلب ['المعلمة 3']3. مخصص لأخذ
على سبيل المثال ، عنوان URL: http://i.cnblogs.com/؟j=js. إذا أردنا الحصول على قيمة المعلمة J ، فيمكننا تسميتها من خلال الوظيفة التالية.
وظيفة getQueryString (name) {var reg = new regexp ("(^| &)" + name + "= ([^&]*) (& | $)" ، "i") ؛ var r = window.location.search.substr (1) .Match (reg) ؛ // احصل على السلسلة بعد "؟" الحرف في عنوان URL ومطابقته بانتظام var context = "" ؛ إذا (r! = null) سياق = r [2] ؛ ريج = فارغ ؛ ص = فارغ ؛ سياق إرجاع == null || السياق == "" || السياق == "غير محدد"؟ "" : سياق؛ } ALERT (getQueryString ("J")) ؛4. طريقة للحصول على معلمات واحدة
دالة getRequest () {var url = location.search ؛ // احصل على السلسلة بعد "؟" الحرف في url if (url.indexof ("؟")! = -1) {// judge ما إذا كانت هناك معلمات var str = url.substr (1) ؛ // من الشخصية الأولى لأن 0 هو؟ علامة للحصول على جميع الأوتار باستثناء علامة الاستفهام strs = str.split ("=") ؛ // منفصل مع علامة متساوية (لأنني أعلم أن هناك معلمة واحدة فقط ، فأنا أستخدم علامة متساوية مباشرة لفصل ما إذا كانت هناك معلمات متعددة للفصل مع وتوقيع ثم استخدام علامة متساوية) (STRS [1]) ؛ // قم بالتسجيل في المعلمة الأولى (إذا كانت هناك معلمات متعددة ، فإنها تحتاج أيضًا إلى حلقة)}}ما سبق هو كل شيء عن هذا المقال. آمل أن يكون من المفيد للجميع فهم كيفية الحصول على معلومات عنوان URL على الصفحة الحالية.