เห็นได้ชัดว่า API นี้อนุญาตให้โปรแกรมเมอร์มือถือใช้ JavaScript เรียกใช้ฟังก์ชันการสั่นสะเทือนของโทรศัพท์และสามารถตั้งค่าวิธีการและระยะเวลาของการสั่นสะเทือน
กำหนดการสนับสนุนของเบราว์เซอร์สำหรับ API การสั่นสะเทือน
นิสัยที่ดีคือการตรวจสอบว่าสภาพแวดล้อมแอปพลิเคชันปัจจุบันของคุณและเบราว์เซอร์รองรับการสั่นสะเทือน API ก่อนใช้งานหรือไม่ นี่คือวิธีการตรวจจับ:
// มาตรฐาน ftw! var supportsvibrate = "vibrate" ใน Navigator;
มี API เพียงหนึ่งเดียวเกี่ยวกับการสั่นสะเทือนในหน้าต่างวัตถุ Navigator: Vibrate
แอปพลิเคชันพื้นฐานของ API การสั่นสะเทือน
ฟังก์ชั่น Navigator.vibrate สามารถยอมรับพารามิเตอร์ตัวเลขหรืออาร์เรย์ของตัวเลข เมื่อใช้พารามิเตอร์อาร์เรย์ตัวเลขคี่คือจำนวนวินาทีการสั่นสะเทือนและตัวเลขสม่ำเสมอคือจำนวนวินาทีรอ
// vibrate สำหรับ 1 วินาที navigator.vibrate (1,000); // vibrate หลายครั้ง // พารามิเตอร์จะสั่นเป็นเวลา 3 วินาทีรอ 2 วินาทีจากนั้นจึงสั่นสะเทือนเป็นเวลา 1 วินาที Navigator.vibrate ([3000, 2000, 1000]);
หากคุณต้องการหยุดการสั่นสะเทือนคุณเพียงแค่ต้องผ่าน 0 ไปยังวิธี Navigator.vibrate หรืออาร์เรย์ที่ว่างเปล่า:
// หยุด vibration navigator.vibrate (0); navigator.vibrate ([]);
ควรสังเกตว่าการโทรไปยัง Navigator.Vibrate จะไม่ทำให้โทรศัพท์มือถือสั่นสะเทือนในลูป เมื่อพารามิเตอร์เป็นตัวเลขการสั่นสะเทือนจะเกิดขึ้นหนึ่งครั้งหลังจากนั้นก็หยุด เมื่อพารามิเตอร์เป็นอาร์เรย์การสั่นสะเทือนจะสั่นสะเทือนตามค่าในอาร์เรย์จากนั้นหยุดการสั่นสะเทือน
การสั่นสะเทือนอย่างต่อเนื่อง
เราสามารถใช้วิธี SetInterval และ ClearInterval เพื่อสร้างเอฟเฟกต์ของการสั่นอย่างต่อเนื่องของโทรศัพท์:
var vibrateInterval; // เริ่มต้นชัยชนะที่ผ่านใน levelfunction startVibrate (ระยะเวลา) {navigator.vibrate (ระยะเวลา);} // หยุดฟังก์ชั่นชัยชนะ stopVibrate () {// ช่วงเวลาที่ชัดเจน navigator.vibrate (0);} // เริ่มการสั่นสะเทือนแบบถาวรในระยะเวลาและช่วงเวลา // สมมติว่าค่าตัวเลขได้รับฟังก์ชั่น startperistentVibrate (ระยะเวลา, ช่วงเวลา) {vibrateInterval = setInterval (ฟังก์ชั่น () {startVibrate (ระยะเวลา);รหัสข้างต้นมีไว้สำหรับกรณีที่พารามิเตอร์การสั่นสะเทือนเป็นตัวเลข หากพารามิเตอร์เป็นอาร์เรย์คุณจะต้องคำนวณระยะเวลาทั้งหมดแล้ววนลูปตามลักษณะของมัน
สถานการณ์โดยใช้ API Vibration
เห็นได้ชัดว่า API นี้มุ่งเป้าไปที่อุปกรณ์โทรศัพท์มือถือ เมื่อพัฒนาแอพพลิเคชั่นบนเว็บมือถือมือถือเป็นเครื่องมือเตือนที่ดีและฟังก์ชั่นการสั่นสะเทือนนี้เป็นเทคโนโลยีที่ขาดไม่ได้และดีเมื่อพัฒนาเกมบนเว็บหรือแอพพลิเคชั่นมัลติมีเดีย ตัวอย่างเช่นเมื่อผู้ใช้กำลังเล่นเกมบนเว็บของคุณด้วยโทรศัพท์มือถือเมื่อมีการระเบิดเกิดขึ้นในเกมและคุณปล่อยให้โทรศัพท์สั่นสะเทือนมันไม่ใช่ประสบการณ์ผู้ใช้ที่ยอดเยี่ยมใช่ไหม
คุณรู้สึกอย่างไรกับ API การสั่นสะเทือนของ JavaScript นี้? คุณคิดว่ามันจะกลายเป็นที่นิยมในไม่ช้า? หรือว่ามันไม่ได้มีประโยชน์มาก?