آبجکت Window.Hostory در زبان جاوااسکریپت

آبجکت Window.Hostory در زبان جاوااسکریپت – آموزش جاواسکریپت مقدماتی درس 22

در این مقاله ما به بررسی آبجکت Window.History در جاوااسکریپت می پردازیم.

آبجکت History

ویژگی History از آبجکت Window اشاره به آبجکتی به نام History دارد. این آبجکت شامل تاریخچه ای از سیشن های مرورگر فعلی است، یک فهرست از تمام صفحه هائی که در فریم یا پرونده جاری بازدید شده است.

چون آبجکت Window یک آبجکت عمومی (Global Object) است، و آن در بالا زنجیره حوزه ها (Scope) قرار دارد، بنابراین ویژگی های آبجکت Window نظیر Window.History بدون نیاز به پیشوند Window برای تمام زیرمجموعه ها در دسترس است، بنابراین شما می توانید به جای ویژگی window.history.length از عبارت history.length استفاده کنید.

در بخش ادامه شما خواهید دید که چطور اطلاعات تاریخچه مرورگر کاربر را دریافت کنیم. هرچند به خاطر وجود دلایل امنیتی، اسکریپت ها امکان دسترسی به آدرس های URL ذخیره شده در مرورگر را ندارند.

دریافت تعداد صفحه های بازدید شده

ویژگی window.history.length می تواند برای دریافت تعداد صفحه هائی که در تاریخچه نشست (session) مرورگر از پنجره موجود وجود دارند را دریافت کند. این مقدار شامل صفحه هائی که هم اکنون در حال بارگذاری می شوند هم هست.

شما می توانید از این ویژگی استفاده کنید تا بتوانید بفهمید که کاربر شما در حین بررسی نشست های فعلی چه تعداد صفحه سایت شما را مشاهده کرده است. برای درک بهتر به مثالی که در ادامه آمده است دقت کنید:

مثال

<script>

function getViews() {

    alert("You've accessed " + history.length + " web pages in this session.");

}

</script>

 

 <button type="button" onclick="getViews();">Get Views Count</button>

 

برگشت به صفحه قبل

شما می توانید با استفاده از متد back() در آبجکت history یعنی history.back() به صفحه قبلی در نشست فعلی برگردید. این دقیقا برابر با زمانی است که شما بر روی دکمه back مرورگر کلیک می کنید.

مثال

<script>

function goBack() {

    window.history.back();

}

</script>

 

 <button type="button" onclick="goBack();">Go Back</button>

برای مثال اگر شما بر روی دگمه Go Back مثال بالا کلیک کنید، در این حالت مرورگر شما را به صفحه قبلی بر می گردد. (دقت کنید که شما باید قبلش چند صفحه را پیشمایش کرده باشید و حالت back مرورگر شما فعال شده باشد).

رفتن به صفحه بعد

با استفاده از متد forward() یعنی history.forward() می توانید به صفحه بعدی از سشن کنونی بروید. این دقیقا مانند زمانی است که شما بر روی دکمه forward  مرورگر کلیک کنید.

مثال

<script>

function goForward() {

    window.history.forward();

}

</script>

 

 <button type="button" onclick="goForward();">Go Forward</button>

برای مثال اگر شما بر روی دگمه Go Back مثال بالا کلیک کنید، در این حالت مرورگر شما را به صفحه بعدی می برد. (دقت کنید که شما باید قبلش چند صفحه را پیشمایش کرده باشید و حالت forward مرورگر شما فعال شده باشد).

رفتن به یک صفحه خاص

به علاوه آنچه که گفته شد، شما می تواندی با استفاده از متد go() یعنی history.go() به صفحه ای خاص بروید. این متد، یک مقدار صحیح را به عنوان پارامتر دریافت می کند. یک مقدار صحیح منفی به معنای عقب رفتن در ترتیب صفحه ها است و مقدارهای مثبت به معنای جلورفتن در میان این صفحه ها معنا می دهند.

مثال

window.history.go(-2);  // Go back two pages

window.history.go(-1); // Go back one page

window.history.go(0);  // Reload the current page

window.history.go(1);  // Go forward one page

window.history.go(2);  // Go forward two pages

نکته

اگر شما تلاش کنید که به صفحه ای که در تاریخچه مرورگرتان وجود ندارد دسترسی پیدا کنید، در این صورت متدهای back()، forward() و go()،هیچ کار خاصی انجام نمی دهند و فقط در صفحه فعلی می مانید.

No votes yet.
Please wait...

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

منو اصلی

question