บันทึกผู้ใช้ออกจากเว็บไซต์เมื่อพวกเขาทำให้คอมพิวเตอร์เข้าสู่โหมดสลีป
นี่คือหนึ่งที่แปลกประหลาด เรามีเว็บไซต์ Laravel และในเว็บไซต์ดังกล่าวเรามีตัวจับเวลาต่อผู้ใช้ซึ่งพวกเขาจะไม่ได้ใช้งาน 15 นาทีก่อนที่จะถูกบูท เราทำสิ่งนี้ผ่านตัวจับเวลาที่ตั้งอยู่บนหน้าในส่วนประกอบแบบตอบสนองมันทำงานได้ตามที่เราต้องการ แต่ตอนนี้เรามีปัญหาใหม่: หากผู้ใช้เข้าสู่ระบบและปิดฝาแล็ปท็อปเว็บไซต์ควรบูตพวกเขา . ธนาคารทำเช่นนี้โรงเรียนและมหาวิทยาลัยทำเช่นนี้ไซต์รัฐบาลก็ทำเช่นนี้ ดังนั้นจึงเป็นไปได้ แต่ก็ไม่แน่ใจเหมือนกัน เราใช้ซ็อกเก็ตเว็บโดยใช้ไลบรารี laravel-websocketsและ Echo สิ่งที่ฉันต้องการเห็นเกิดขึ้นคือ: เมื่อคุณปิดแล็ปท็อปบูตคุณไปที่หน้าจอเข้าสู่ระบบ ครั้งต่อไปที่คุณเปิดแล็ปท็อปและล็อกอินและดูเบราว์เซอร์ที่คุณอยู่บนหน้าจอเข้าสู่ระบบ ไม่จำเป็นต้องเกิดขึ้นอย่างรวดเร็ว แต่เราต้องการวิธีส่งบางอย่างไปยังส่วนหน้าโดยทั่วไปบอกให้รีเฟรชหน้าเว็บเมื่อเซสชั่นถูกฆ่าตายเราจะกำหนดอายุการใช้งานเซสชันเป็น laravel 15 นาที บางคนแนะนำในคำถามที่คล้ายกันอื่น ๆ : เพื่อสร้างตัวจัดการซ็อกเก็ตเว็บที่กำหนดเอง เพื่อเปรียบเทียบคุ้กกี้เซสชัน (ในเบราว์เซอร์) กับคุกกี้ของผู้ใช้ที่ส่วนท้าย หากต้องการให้ตัวจับเวลาทำงานที่ส่วนหน้า (เราจะหยุดเมื่อคุณปิดฝาแล็ปท็อป) ดูเหมือนจะใช้ซ็อกเก็ตเว็บที่ได้รับความนิยมมากที่สุดฟังเพื่อให้ผู้ใช้ปลดการเชื่อมต่อจากนั้นทำการบู๊ตซึ่งเป็นสิ่งที่ดีและทั้งหมด แต่แล้วคุณจะส่งคำขอไปยังเบราว์เซอร์ที่ถูกระงับแล้ว ฉันได้พบrequestIdleCallback ()แต่อีกครั้งฉันไม่คิดว่านี่คือสิ่งที่ฉันต้องการถ้าฉันมีตัวจับเวลา heartbeat บนเว็บไซต์ มันไม่สามารถใช้ได้กับทุกเบราว์เซอร์ ฉันหลงทางมากเกี่ยวกับวิธีการทำสิ่งนี้ให้สำเร็จตัวอย่างที่ฉันให้คือ: เข้าสู่ระบบธนาคารของคุณ, ทำให้คอมพิวเตอร์เข้าสู่โหมดสลี, รอ 15-20 นาที, ปลุกคอมพิวเตอร์, เข้าสู่ระบบและดูธนาคารของคุณตอนนี้มีหน้าจอเข้าสู่ระบบ นั่นคือสิ่งที่ฉันต้องการ แต่ฉันไม่รู้วิธีที่จะทำให้สำเร็จ …