JS / رابط الصفحة

رابط الصفحة

ما هو الكائن window.location؟

الكائن window.location يحتوي على معلومات الوصول إلى الصفحة المفتوحة مثل رابط الصفحة كاملاً، البروتوكول المستخدم لطلب الصفحة، مسار الصفحة في الموقع، إسم الموقع أو الدومين الذي توجد عليه الصفحة، كلمات الإستعلام المدخلة في الرابط، بالإضافة إلى إسم المعرف لعنصر محدد في الصفحة.

JS - رابط الصفحة


إذاً بواسطة هذا الكائن يمكنك استخراج جميع المعلومات الموجودة في رابط الصفحة التي يتصفحها المستخدم كما يلي.

الحصول على رابط الصفحة

يمكنك استخدام الخاصية window.location.href للحصول على رابط الصفحة الحالية كاملاً.

في المثال التالي قمنا بعرض رابط الصفحة الحالية.

مثال

خد الكواد نسخ واضغط هنا جرب الكود 📋
<!DOCTYPE html>
<html>
<body>
    <h1>JavaScript Get Page Link</h1>
	<p>You can use the "window.location.href" attribute
	to get the link of the current page.</p>
	
    <p id="demo"></p>

    <script>
		// demo في متغير إسمه demo يساوي id هنا قمنا بتخزين العنصر الذي يملك
		var demo = document.getElementById('demo');

        // demo هنا قمنا بعرض رابط الصفحة كاملاً في العنصر الذي يمثله المتغير
		demo.innerHTML = 'Page url: ' + window.location.href;
    </script>
</body>
</html>

الحصول على البروتوكل المذكور في رابط الصفحة

يمكنك استخدام الخاصية window.location.protocol للحصول على البروتوكل الموجود في بداية رابط الصفحة الحالية.
البروتوكل قد يكون 'http' أو 'https' على حسب إعدادات الموقع.

في المثال التالي قمنا بعرض البروتوكل المستخدم لجلب الصفحة.

مثال

خد الكواد نسخ واضغط هنا جرب الكود 📋
<!DOCTYPE html>
<html>
<body>
    <h1>JavaScript Get Page Protocol</h1>
	<p>You can use the "window.location.protocol" attribute
	to get the protocol that has been used to get the page.</p>
	
    <p id="demo"></p>

    <script>
		// demo في متغير إسمه demo يساوي id هنا قمنا بتخزين العنصر الذي يملك
		var demo = document.getElementById('demo');

		// demo هنا قمنا بعرض البروتوكل المستخدم لجلب الصفحة الحالية في العنصر الذي يمثله المتغير
		demo.innerHTML = 'Page url: ' + window.location.protocol;
    </script>
</body>
</html>

الحصول على إسم الدومين المذكور في رابط الصفحة

يمكنك استخدام الخاصية window.location.hostname للحصول على إسم الدومين (أي إسم الموقع) من رابط الصفحة الحالية.

في المثال التالي قمنا بعرض إسم الدومين الذي توجد فيه الصفحة.

مثال

خد الكواد نسخ واضغط هنا جرب الكود 📋
<!DOCTYPE html>
<html>
<body>
    <h1>JavaScript Get Page Hostname</h1>
	<p>You can use the "window.location.hostname" attribute
	to get the domain name from the page URL.</p>
	
    <p id="demo"></p>

    <script>
		// demo في متغير إسمه demo يساوي id هنا قمنا بتخزين العنصر الذي يملك
		var demo = document.getElementById('demo');

		// demo هنا قمنا بعرض إسم الدومين الذي توجد فيه الصفحة في العنصر الذي يمثله المتغير
		demo.innerHTML = 'Page hostname: ' + window.location.hostname;
    </script>
</body>
</html>

في حال استعراض الموقع على سيرفر محلي ( Local Server ) فإن إسم الدومين سيكون '127.0.0.1' أو 'localhost'.

و في حال استعرض الصفحة بشكل مباشر في المتصفح بدون تشغيلها على سيرفر فإن إسم الدومين سيكون نص فارغ '' لأنه بالأساس لا يوجد إسم دومين.

الحصول على رقم البورت المذكور في رابط الصفحة

يمكنك استخدام الخاصية window.location.port للحصول على رقم البورت ( Port ) الذي يظهر في رابط الصفحة.
في حال لم يكن رقم البورت ظاهراً في الرابط فإنها تعطينا نص فارغ ''.

المستخدم لا يضطر إلى ذكر رقم البورت لأن المتصفح يفعل ذلك عنه بشكل تلقائي أثناء الإتصال بالسيرفر فهو يعلم أن رقم البورت الإفتراضي الذي يتم استخدامه مع البروتوكل HTTP هو 80، و رقم البورت الإفتراضي الذي يتم استخدامه مع البروتوكل HTTPS هو 443.

في المثال التالي قمنا بعرض رقم البورت المستخدم لجلب الصفحة.

مثال

خد الكواد نسخ واضغط هنا جرب الكود 📋
<!DOCTYPE html>
<html>
<body>
    <h1>JavaScript Get Page Port</h1>
	<p>You can use the "window.location.port" attribute
	to get the port number from the page URL.</p>
	
    <p id="demo"></p>

    <script>
		// demo في متغير إسمه demo يساوي id هنا قمنا بتخزين العنصر الذي يملك
		var demo = document.getElementById('demo');

		// demo هنا قمنا بعرض رقم البورت المستخدم لجلب الصفحة في العنصر الذي يمثله المتغير
		// و النتيجة ستكون نص فارغ لأن رقم البورت الإفتراض للصفحة هو 443 و المتصفح لا يظهره
		demo.innerHTML = 'Page port: ' + window.location.port;
    </script>
</body>
</html>

الحصول على إسم الدومين مع رقم البورت المذكورين في رابط الصفحة

يمكنك استخدام الخاصية window.location.host للحصول على إسم الدومين و رقم البورت اللذان يظهران في رابط الصفحة الحالية.

إذا كان رقم البورت لا يظهر في الرابط فإنها ترجع إسم الدومين فقط مثل الخاصية window.location.hostname.

في المثال التالي قمنا بعرض إسم الدومين مع رقم البورت المستخدم لجلب الصفحة.

مثال

خد الكواد نسخ واضغط هنا جرب الكود 📋
<!DOCTYPE html>
<html>
<body>
    <h1>JavaScript Get Page Host</h1>
	<p>You can use the "window.location.host" attribute
	to get the hostname + the port number from the page URL.</p>
	
    <p id="demo"></p>

    <script>
		// demo في متغير إسمه demo يساوي id هنا قمنا بتخزين العنصر الذي يملك
		var demo = document.getElementById('demo');

		// هنا قمنا بعرض إسم الدومين مع رقم البورت في حال كان
		// demo ظاهراً في المتصفح في العنصر الذي يمثله المتغير
		demo.innerHTML = 'Page host: ' + window.location.host;
    </script>
</body>
</html>

الحصول على مسار الصفحة الحالية

يمكنك استخدام الخاصية window.location.pathname للحصول على مسار الصفحة الحالية المذكور في رابط الصفحة.

في المثال التالي قمنا بعرض مسار الصفحة المذكور في رابطها.

مثال

خد الكواد نسخ واضغط هنا جرب الكود 📋
<!DOCTYPE html>
<html>
<body>
    <h1>JavaScript Get Page Path</h1>
	<p>You can use the "window.location.pathname" attribute
	to get the path of the page from the page URL.</p>
	
    <p id="demo"></p>

    <script>
		// demo في متغير إسمه demo يساوي id هنا قمنا بتخزين العنصر الذي يملك
		var demo = document.getElementById('demo');

		// demo هنا قمنا بعرض مسار الصفحة المذكور في رابطها في العنصر الذي يمثله المتغير
		demo.innerHTML = 'Page pathname: ' + window.location.pathname;
    </script>
</body>
</html>

الحصول على جملة البحث المذكورة في رابط الصفحة

يمكنك استخدام الخاصية window.location.search للحصول على جملة البحث المذكورة في رابط الصفحة الحالية.

المقصود بجملة البحث هنا هو الباراميترات و القيم التي يتم تمريرها من الرابط إلى السيرفر و تسمى Query String.
الباراميترات و قيمها يتم تمريرها في الرابط من خلال إضافة علامة إستفهام ? في آخره و ذكرها بعدها مباشرةً.

في المثال التالي قمنا بعرض جملة البحث المذكورة في رابط الصفحة.

مثال

خد الكواد نسخ واضغط هنا جرب الكود 📋
<!DOCTYPE html>
<html>
<body>
    <h1>JavaScript Get Page Parameters And values</h1>
	<p>You can use the "window.location.search" attribute
	to get the query string that contains all the
	parameters and their values from the page URL.</p>
	
    <p id="demo"></p>

    <script>
		// demo في متغير إسمه demo يساوي id هنا قمنا بتخزين العنصر الذي يملك
		var demo = document.getElementById('demo');

		// هنا قمنا بعرض جملة البحث (الباراميترات و القيم) المذكورة
		// demo في رابط الصفحة في العنصر الذي يمثله المتغير
		demo.innerHTML = 'Page search: ' + window.location.search;
    </script>
</body>
</html>

الحصول على المعرّف المذكور في رابط الصفحة

يمكنك استخدام الخاصية window.location.hash للحصول على المعرّف المذكور في رابط الصفحة الحالية.
في حال لم يكن رابط الصفحة يحتوي على إسم معرّف تعطينا نص فارغ ''.

المعرّف يقصد به id يملكه عنصر في الصفحة.
عند تمرير إسم معرّف لعنصر في الرابط فإننا نضعه في آخر الرابط و نضع قبله الرمز #.

في المثال التالي قمنا بعرض إسم المعرّف المذكور في رابط الصفحة.

مثال

خد الكواد نسخ واضغط هنا جرب الكود 📋
<!DOCTYPE html>
<html>
<body>
    <h1>JavaScript Get Page Hash</h1>
	<p>You can use the "window.location.hash" attribute
	to get the hash name from the page URL.</p>
	
    <p id="demo"></p>

    <script>
		// demo في متغير إسمه demo يساوي id هنا قمنا بتخزين العنصر الذي يملك
		var demo = document.getElementById('demo');

		// demo هنا قمنا بعرض المعرّف المذكور في رابط الصفحة في العنصر الذي يمثله المتغير
		demo.innerHTML = 'Page hash: ' + window.location.hash;
    </script>
</body>
</html>

الإنتقال لصفحة جديدة

يمكنك استخدام الخاصية window.location.href أو الدالة window.location.assign() للإنتقال إلى صفحة جديدة.

في المثال التالي قمنا بالإنتقال إلى صفحة جديدة من خلال تمرير رابط الصفحة كقيمة للخاصية window.location.href.

المثال الأول

خد الكواد نسخ واضغط هنا جرب الكود 📋
<!DOCTYPE html>
<html>
<body>
    <h1>JavaScript Redirect To Page</h1>
	<p>You can use the "window.location.href" attribute
	to get page URL or to redirect to another page.</p>
	
    <p id="demo"></p>

    <script>
		// هنا قمنا بالإنتقال إلى الصفحة الرئيسية في موقع هرمش
		window.location.href = 'https://codafox.blogspot.com/';
    </script>
</body>
</html>

في المثال التالي قمنا بالإنتقال إلى صفحة جديدة من خلال تمرير رابط الصفحة للدالة window.location.assign().

المثال الثاني

خد الكواد نسخ واضغط هنا جرب الكود 📋
<!DOCTYPE html>
<html>
<body>
    <h1>JavaScript Redirect To Page</h1>
	<p>You can use the "window.location.assign" function
	to move to another page.</p>
	
    <p id="demo"></p>

    <script>
		// هنا قمنا بالإنتقال إلى الصفحة الرئيسية في موقع هرمش
		window.location.assign('https://codafox.blogspot.com/');
    </script>
</body>
</html>

تبديل الصفحة بصفحة جديدة

يمكنك استخدام الدالة window.location.replace() لتبديل الصفحة الحالية بصفحة جديدة.

في المثال التالي قمنا بتبديل الصفحة الحالية بصفحة جديدة من خلال تمرير رابط الصفحة الجديدة للدالة window.location.replace().

مثال

خد الكواد نسخ واضغط هنا جرب الكود 📋
<!DOCTYPE html>
<html>
<body>
    <h1>JavaScript Replace Page</h1>
	<p>You can use the "window.location.replace" function
	to replace the current page with another one.</p>
	
    <p id="demo"></p>

    <script>
		// هنا قمنا بتبديل الصفحة الحالية بالصفحة الرئيسية في موقع هرمش
		window.location.replace('https://codafox.blogspot.com/');
    </script>
</body>
</html>

عند الإنتقال لصفحة جديدة بواسطة الخاصية window.location.href أو الدالة window.location.assign() فإن زر الرجوع إلى الصفحة السابقة يعمل بشكل طبيعي و يعيدك إلى الصفحة السابقة التي كانت مفتوحة قبلها. بينما عند تبديل الصفحة الحالية بواسطة الدالة window.location.replace() بصفحة جديدة فإنه لا يمكن العودة إلى الصفحة السابقة.

تحديث الصفحة

يمكنك استخدام الدالة window.location.reload() لتحديث الصفحة الحالية.
عند استدعائها يمكنك عدم تمرير أي قيمة لها أو تمرير القيمة false لجعل الصفحة يعاد عرضها بالإعتماد على النسخة السابقة منها المخزنة في المتصفح ( Cached page ). و في حال أردت جلب نسخة جديدة من الصفحة من السيرفر فجيب أن تمرر لها القيمة true.

في المثال التالي قمنا ببناء زر عند النقر عليه يقوم بتحديث الصفحة من السيرفر.

مثال

خد الكواد نسخ واضغط هنا جرب الكود 📋
<!DOCTYPE html>
<html>
<body>
    <h1>JavaScript Reload Page</h1>
	<p>You can use the "window.location.reload" function to reload the page.</p>
	
    <!-- عند استدعائها تقوم forceReload هنا قمنا بإنشاء دالة إسمها 
	بتحديث الصفحة مع الإشارة إلى أننا قمنا بإعادة جلبها من السيرفر -->
	<script>
		function forceReload() {
			window.location.reload(true);
		}
	</script>

	<!-- forceReload() عند النقر على الزر التالي سيتم إستدعاء -->
	<button type="button" onclick="forceReload()">Reload Page</button>
</body>
</html>

<!-- الدالة لن تعمل كما هو متوقع في محرر الويب حيث أنها ستعرض الصفحة كلها من جديد في النتيجة -->

تحديث الصفحة بواسطة الدالة window.location.reload() يختلف عن استخدام زر التحديث الموجود في المتصفح، حيث أن التحديث بواسطة هذه الدالة يقوم بحذف أي قيم سابقة تم إدخالها في الحقول الموجودة في الصفحة.

إرسال تعليق

أحدث أقدم

نموذج الاتصال