راکت
حل شده

مشکل با سافاری

5 پاسخ

سلام دوستان . به نظرتون چرا کد زیر تو همه مرورگرها کار میکنه غیر از سافاری!؟

function setTimeCounters() {
    $(".time-counter").each(function (index, elem) {

        let exp = new Date($(this).attr('data-time'));

        var x = setInterval(function() {

            let now = (new Date()).getTime();
            let ex = (new Date(exp)).getTime();

            let distance = ex - now;

            let days = Math.floor(distance / (1000 * 60 * 60 * 24));
            let hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
            let minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
            let seconds = Math.floor((distance % (1000 * 60)) / 1000);

            $(elem).find(".time").html(`${showNumber(days)}:${showNumber(hours)}:${showNumber(minutes)}:${showNumber(seconds)}`);

            if ((hours+minutes+seconds) <= 0) {
                clearInterval(x);
                $(elem).html("زمان به اتمام رسید");
            }
        }, 1000);

    });
}

همین گفتگو داخل stackowerflow هم گزاشتم :
https://stackoverflow.com/questions/63993628/javascript-time-counter-problem-with-safari-browser

ثبت پرسش جدید

پاسخ‌ها

5
woz
woz
@wozniak

تخصص: fan of open source world

بهترین پاسخ

مشکل از استاندارد نبودن فرمت تاریخی بود که به صورت اولیه بهش میدادم. اگر فرمت استاندارد باشه حله

(new DateTime($date))->format(DateTime::ATOM)

تاریخ رو به این روش ابتدا داخل html کار گزاشتم حل شد

woz
woz
@wozniak

تخصص: fan of open source world

میلاد-م
میلاد-م
@milad

تخصص: توسعه‌دهنده رابط کاربری - Front-End

بررسی کرده اید که آیا سافاری با جی کوئری مشکلی داره؟ یا بی ایراد هستش؟

شاید پاسخ شما همین‌جا باشد

woz
woz
@wozniak

تخصص: fan of open source world

@milad
شاید به صورت partial داشته باشد. اما در کل با jquery مشکل ندارد ظاهرا

میلاد-م
میلاد-م
@milad

تخصص: توسعه‌دهنده رابط کاربری - Front-End

ممنون از شما بابت گذاشتن کدهای صحیح در اینجا برای سایرین.

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام