كيفية تحديد الوقت على الموقع في جافا سكريبت ؟

StackOverflow https://stackoverflow.com/questions/591901

  •  09-09-2019
  •  | 
  •  

سؤال

Google Analytics المسارات 'الوقت على الموقع'.كيف يمكنك أن تفعل ذلك على نحو فعال ؟ أنها لا تتبع الواقع عندما يغلق المستخدم المتصفح أو يتنقل بعيدا ؟

الأفكار ؟

هل كانت مفيدة؟

المحلول

لا أستطيع أن أكون مؤكدا بنسبة 100٪ بالطبع، لكنني أعتقد أنهم يستخدمون JavaScript و Onload and Onun تحميل الأحداث و / أو المستودع للتواصل مع خدمة ويب عبر AJAX. بهذه الطريقة يمكنهم معرفة متى يذهب المستخدمون أو ترك صفحة على موقعك. بمجرد أن يتوقف المتصفح عن "تصريف" خدمة الويب، فمن المفترض أنهم غادروا موقعك.

أنا متأكد من وجود بعض هامش الخطأ المتورط بغض النظر عن كيفية القيام بذلك، ولكن يمكنك الحصول على تقدير لائق جدا بهذه الطريقة.

نصائح أخرى

هناك حدث جافا سكريبت يسمى onBeforeUnload ينفذ عند أن يترك المستخدم صفحة. يمكن أن يشمل ذلك إغلاق Windows / Tab أو التنقل إلى صفحة مختلفة (حتى لو كان في نفس الموقع). عن طريق الحصول على الوقت مباشرة بعد تحميل الصفحة واستخدام JavaScript لإرسال طلب متزامن onBeforeUnload مع الفرق في الوقت المناسب بين التحميل والترك، يمكنك تتبع الوقت الذي يقضيه بشكل فعال على الصفحة. أود أن أفترض أن هذا هو ما تفعله جوجل.

إذا كنت تريد أمثلة شفرة العمل وغير مزيد من المعلومات، تحقق هذه خارج.

مجرد تعيين وظيفة مثل هذا:

function track()
{
   setTimeout(track ,1000);
   now = new Date;
   now_string = now.getHours() + ":" + now.getMinutes() + ":" + now.getSeconds();
   (... whatever you want to do with this data)
}

في JavaScript، تعجبك سلسلة تقول HH: MM: SS، أو H: M: S في حالة الساعة / الدقيقة / الرقم الثاني بأقل من حرفين

لذلك فقط جعل قليلا من الرياضيات

فقط ضع هذا قيد التشغيل في مكان ما في نافذتك، وربطه بالجلسة (ضمان هذا في جميع الصفحات) تحصل على مقدار الوقت الذي كان فيه بعض الوقت في صفحتك.

تحرير: اضطر لإزالة وظيفة كان لدي ذلك كان لي وليس من JavaScript Sry: P

أنا لا أعتقد أنه المسارات عند إغلاق المتصفح أو يتنقل بعيدا ، حتى لو كان هذا لا يعمل في 100% من الحالات.

تخميني هو أنهم تقدير البقاء في صفحة الخروج ، ربما استنادا إلى الصفحات السابقة أو متوسط لهذه الصفحة لجميع الزوار.إذا كنت تحصل على ثلاثة الصفحة يضرب في بضع دقائق, لديك نفس وقت العرض لأول صفحتين ، ولكن أنت لا تعرف أبدا متى الصفحة الثالثة هو ينظر إليها.ربما قمت بإغلاق الصفحة على الفور ، أو ترك الأمر مفتوحا قراءتها في وقت لاحق.

إنه الإحصاءات ، لذلك على المدى الطويل انها عادة ما تكون دقيقة بدلا من ذلك, لكنه لا الحقيقة.;)

أظن أنهم ربما يديرون مؤقت يكرر وينفذ نوعا من رد الاتصال على كل حلقة باستخدام ملف تعريف الارتباط لتحديد المستخدم والجلسة

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top