جلوگیری از رفرش شدن تایمر معکوس

o_real_love

Well-Known Member
سلام دوستان
من یک مسابقه طراحی کردم که توی اون به هر شرکت کننده 60 ثانیه فرصت میدم تا به سوالاتش پاسخ بده
حالا یک مشکلی که داره اینه که اگه شرکت کننده وسط مسابقه Refresh بزنه تایمر معکوس مجدد از 60 ثانیه شروع به شمارش میکنه ....
چجوری میتونم جلوی این مشکل رو بگیرم؟؟؟
نمیشه کاری کرد که هر ثانیه مقدار تایمر در یک متغیر ذخیره بشه (مثل session در php) که با رفرش صفحه هم متغیر از بین نره و وقتی صفحه مجدد باز شد همون مقدار قبلی تایمر نمایش داده بشه؟؟؟
ممنون میشم راهنمایی کنید
( لطفا راه حلی غیر از کوکی پیشنهاد بدید ممنون میشم ، چون جاوا بلد نیستم زیاد )
با تشکر

اینم کدی که استفاده میکنم :

فایل timer.js :
کد:
[LTR][LEFT]var Timer;
var TotalSeconds;
function CreateTimer(TimerID, Time) {
    Timer = document.getElementById(TimerID);
    TotalSeconds = Time;
    UpdateTimer()
    window.setTimeout("Tick()", 1000);
}
function Tick() {
    if (TotalSeconds <= 0) {
        document.forms["mfrm"].submit();
        return;
    }
	TotalSeconds -= 1;
    UpdateTimer()
    window.setTimeout("Tick()", 1000);
}
function UpdateTimer() {
    Timer.innerHTML = TotalSeconds;
}[/LEFT][/LTR]
تگ فایل html :
کد:
[LTR][LEFT]<p id="timer"><script type="text/javascript">window.onload = CreateTimer("timer", 60)</script></p>[/LEFT][/LTR]
 

omid_p30

Member

eAmin

Well-Known Member
در HTML5 میتونید از Session Storage استفاده کنید، در مرورگر های IE8+, FF و بقیه مرورگرهای استاندارد دیگه قابل استفاده است.
 

o_real_love

Well-Known Member
نه بابا html5 چیه؟؟؟
بیشتر کاربر های مسابقه چون دایل آپ هستند مرورگر هاشون IE6 هست
لطفا بیشتر راهنمایی کنید
ممنون
 

eAmin

Well-Known Member
نه بابا html5 چیه؟؟؟
بیشتر کاربر های مسابقه چون دایل آپ هستند مرورگر هاشون IE6 هست
لطفا بیشتر راهنمایی کنید
ممنون
پس راهی نیست، بغیر از Cookie و یا Ajax.
کوکی که چیز خاصی نداره، با jQuery و پلاگینی که معرفی شد خیلی راحت میتونید باهاش کار کنید. اما در روش Ajax شما باید هم سمت سرور یک تایمر قرار بدید و هم سمت کاربر، ساعت دقیق رو از سرور توسط Ajax دریافت کنید و با توجه به اون تایمرتون رو ایجاد کنید و در سمت سرور برای حل مشکل رفرش از session استفاده کنید و با Ajax مقدار session یعنی همون زمان باقی مانده رو بخونید و دوباره تایمر رو ایجاد کنید و ادامه ماجرا...

کلا" چون شما همونطور که گفتید خیلی به JavaScript مسلط نیستید، بنده به شما استفاده از cookie رو پیشنهاد میکنم، چون روش Ajax پیچیدگی های خاص خودش رو داره.
 

جدیدترین ارسال ها

بالا