فناوری اطلاعات و برنامه نویسی

فناوری اطلاعات و متن باز و برنامه نویسی ویندوز و وب و طراحی وب

فناوری اطلاعات و برنامه نویسی

فناوری اطلاعات و متن باز و برنامه نویسی ویندوز و وب و طراحی وب

نمایش مدت زمان حضور در سایت با جاوا اسکریپت

به نام او که هر چه علم است از اوست

سلام به تمام دوستان

می خواستم بعد از آموزش HTML یه سر آموزش جاوا اسکریپت هم بنویسم که دیدم تو اینترنت منابع و آموزش های خوبی هست به همین خاطر تصمیم گرفتم فقط کدهای جالب و به درد بخور رو براتون بذارم. نه کدهایی که همه جا هست و واسه موسیقی و ... هست. کدهایی که آموزشی و کاربردی و ساده هستند.

خب با این کد شروع می کنم.

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

در تگ head سایتمون اول یه متغیر می گیریم  که زمان ورود بیننده به صفحه رو برامون ذخیره کنه.با تابع زیر :


<script type="text/javascript">
            opentime=new Date();
</script>


حالا کد زیر رو هم که تابع اصلی برای محاسبه زمان هست رو اضافه می کنیم:


<script type="text/javascript">
            function caltime()
            {
                wantdate=new Date();
                minutes = (wantdate.getMinutes() - opentime.getMinutes());
                seconds = (wantdate.getSeconds() - opentime.getSeconds());
                time = seconds+(minutes*60);
                return (time);
            }
</script>


در کد بالا اول متغیر wantdate رو تعریف می کنیم که زمانی رو ذخیره می کنه که کاربر یا از صفحه بیرون رفته یا اینکه می خواد بدونه زمانی رو که تو سایت سپری کرده چقدر بوده. بعد با استفاده از getMinutes و getSeconds ثانیه و دقیقه ها رو با یک تفریق ساده حساب می کنیم. بعد با استفاده از متغیر time ثانیه ها رو حساب می کنیم که می تونید تبدیل به ساعت و دقیقه هم بکنید.

در آخر می تونید از تابع caltime توی یک دکمه استفاده کنید که کدش به صورت زیر میشه :


<input type="button" name="btncaltime" value="how time?" onclick="alert(caltime())">


یا اینکه وقتی کاربر صفحه رو بست یک پیغام بهش نشون بدید ( که این کار رو توصیه نمی کنم چون با ااعصاب بازی می کنه) و مدت رو بهش اعلام کنید که از کد زیر می تونید استفاده کنید :


<body onUnload="alert(caltime())">