50٪ تخفیف روی تمام دوره‌ها!
پایان تخفیف تا:
مشاهده دوره‌ها
0

نحوه فعال کردن دکمه Go Back در مروگر در زمان Load بصورت Ajax

سلام خدمت همه ی عزیزان ITPRO ، من داخل پروژه ای که دارم ، صفحاتم رو به صورت ایجکسی لود می کنم داخل صفحه ی اصلیم. بنابر این دکمه ی Back مرورگر برای بازگشت به صفحاتم کاربرد نخواهد داشت (چون برای مرورگر من صفحه ی عوض نمیشه) اما کارفرما از من می خواد که قابلیت Back کردن در مرورگر وجود داشته باشه. من چجوری می تونم این قابلیت رو فعال کنم ؟

url

ممنون از پاسخ های خوبتون

پرسیده شده در 1395/03/31 توسط

6 پاسخ

0

پیشنهاد می کنم که از angularjs و قابلیت route استفاده کنی که از این قابلیت پشتیبانی می کنه.

پاسخ در 1395/03/31 توسط
0

ممنون از راهنماییتون ولی خب آوردن این پروژه تحت Angular اونم برای من که بلد نیستم یه مقداری سخته راه حله کوتاه مدت تری ندارید ؟

پاسخ در 1395/03/31 توسط
0

یک راه راحت تر استفاده از state های مرورگر هستش که شما می تونی یک state رو توی مروگر push کنی و وقتی که دکمه back زده شد رویداد popstate فراخوانی می شود. و برای این که این رویداد هر بار اجرا شود هر بار که این رویداد فراخوانی شد مقدار جدیدی برای state وارد کنی برای مثال کد زیر وقتی که شما دکمه back را بزنید به شما پیغام می دهد.

  jQuery(document).ready(function ($) {

        if (window.history && window.history.pushState) {

            window.history.pushState('forward', null, './#forward');

            $(window).on('popstate', function () {
                alert('Back button was pressed.'); 
                window.history.pushState('forward', null, './#forward');
                return false;
            });

        }
    });
پاسخ در 1395/03/31 توسط
0

من این کد رو تست کردم ولی هر دکمه یا لینکی زده میشه به من پیغام میده!

پاسخ در 1395/03/31 توسط
2

ممنون از دوستان


خودم از این راه استفاده کردم :

indow.onhashchange = function() {
    if (window.innerDocClick) {
        window.innerDocClick = false;
    } else {
        history.pushState("", document.title, window.location.pathname);
        location.reload();
    }
};

داخل شرط بررسی می کنیم که اگر داخل روت پروژمون بودیم کاری نکنیم و اگر نبودیم داخل History مقداری صفحه ی فعلی رو میریزیم و بعد پیج رو reload می کنیم که بنابر این دیگه داده های ایجکسی وجود ندارند پس برای کاربر به این معنیه که برگشته به صفحه ی اول.

پاسخ در 1395/04/01 توسط

پاسخ شما