
سلام دوستان عزیز. امروز با یکی دیگه از آموزش های جاوااسکریپت اومدیم خدمتتون. امروز میخواهیم با هم یاد بگیریم که چطور یک اسکرین سیور برای سایتمون با جاوا اسکریپت بنویسیم که زمان های بیکاری کاربر یا زمانی که کاربر با سایت کار نمیکند عملی انجام شود.
پایه و اساس این آموزش هم یکی از دوستای خوبم هست که بهم یه سایت آمارگیر خوبی رو معرفی کرد و گفت یه امکان جالبی داره و اونم اینه که امار کسانی که سایت براشون بازه و باهاش کار نمیکنن هم میده که گفتم یه چنین چیزی رو به شما کاربرای عزیز یاد بدم.
این آموزش خیلی آسونه و فقط یک تایمر و یک متغیر و دو فانکشن نیاز داره. خوب ، حالا بریم سراغ آموزش.
پایه کار این کد به این صورت هست که یک متغیر داریم که زمان بیکاری به آن اضافه میشه و یک تایمر که هر ثانیه یک عدد به متغیر اضافه کنه و یک فانکشن که هر موقع موس حرکت کرد ثانیه بیکاری رو صفر کنه.
ابتدای کار نیاز داریم که تگ های باز و بسته اسکریپت رو بنویسیم 😀
1 2 3 | <script> Some code here ... </script> |
خوب. حالا یک متغیر تعریف میکنیم و مقدارش رو صفر در نظر میگیریم.
1 2 3 | <script> var timeouttime = 0; </script> |
حال یک فانکشن میخواهیم که با هر بار تکون خوردن موس این متغیر ما رو صفر کنه.
1 2 3 4 5 6 7 8 | <script> var timeouttime = 0; function timeoutscreen() { timeouttime = 0; } document.onmousemove = timeoutscreen </script> |
بعد از این کار ما نیاز به یک فانکشن داریم که زمان تکون نخوردن موس رو حساب کنه و اگه تا یه ثانیه خاص رسید چند خطی کد رو اجرا کنه(ما پیش فرض یک صفحه سیاه در نظر گرفتیم ولی شما هر چیزی میتونید بزارید). برای این کار باید فانکشن هر ثانیه با یک تایمر چک بشه و یک تگ دیو هم داشته باشیم که در صورت برقرار بودن شرط کد هامون رو توش بریزه.(ما زمان بیکاری رو 15 ثانیه در نظر گرفتیم)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <script> var timeouttime = 0; function timeoutscreen() { timeouttime = 0; } function chktimeoutscreen() { timeouttime = timeouttime + 1; if (timeouttime == 15) { document.getElementById('screentimeoutcode').innerHTML = '<style>body{padding:0px;margin:0px;}</style><div style="position:fixed;width:100%;height:100%;background-color:black;z-index:9999999999;cursor:none"></div>'; } } setInterval(function(){chktimeoutscreen()},1000); document.onmousemove = timeoutscreen </script> <div id="screentimeoutcode"></div> |
خوب ، حالا اگه کد بالا رو اجرا کنید میبینید که اگه صفحه سیاه شد دیگه حالت قبلیش بر نمیگرده. در اینجا باید کدی به فانکشن اولمون اضافه کنیم که زمانی که موس تکون خورد علاوه بر این که زمان بیکاری رو صفر کرد محتوای تگ دیو رو هم خالی کنه(دلیل تعریف دیو هم همین بوده در غیر این صورت کد رو مستقیم هم میشد اجرا کرد)
حال کد نهایی به صورت زیر هست.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <script> var timeouttime = 0; function timeoutscreen() { timeouttime = 0; document.getElementById('screentimeoutcode').innerHTML = ""; } function chktimeoutscreen() { timeouttime = timeouttime + 1; if (timeouttime == 15) { document.getElementById('screentimeoutcode').innerHTML = '<style>body{padding:0px;margin:0px;}</style><div style="position:fixed;width:100%;height:100%;background-color:black;z-index:9999999999;cursor:none"></div>'; } } setInterval(function(){chktimeoutscreen()},1000); document.onmousemove = timeoutscreen </script> <div id="screentimeoutcode"></div> |
ممنون از این آموزش خوب
سلام
عالی بود
من از بازدید کننده های قدیمیتونم
تشکر از پیگیری مداوم سایت
سلام اقا من میخوام بازدید فیک 100000 تا در روز داشته باشم یک نرم افزار از شما دیدم میتونید ایمیل بدین یا زنگ بزنید اگ میتونین کمکم کنید هزینشم بهتون میدم لطفا کمکم کنید اطلاعاتم پایین هست در رابطه با بازدید
rahb********kan@yahoo.com
0912****384
منتظر زنگ یا ایمیلتونم اس ام اس بدین درجا جواب میدم
من اون برنامه رو نوشتم و رایگان هم به کاربرا دادم که دست به دست هم چرخید و خیلی ها ازش استفاده کردن
ولی از طرفی خیلی ها میومدن فحاشی میکردن که چرا این عیب و ایراد رو داره(بازدید واقعی نمیده)
همین باعث شد که حتی خودمم پاکش کنم
اسکرین سیور! موضوع خلاقانه و جالبی بود. ممنون از مطلب مفیدتون.
سلام
چقدر خوب بود این آموزش
تشکر
آموزش های عالی بود ممنون و خسته نباشید
تو زمینه ای که فعالیت میکنید جزو بهترین سایت ها هستید.
ممنون از سایتتون