iOS 9 ไม่รองรับ Arrow Function


ลูกค้าได้แจ้งเคนมาว่าเปิดเว็บไซต์บน Ipad แล้ว Slide ไม่ขึ้น/ไม่ทำงาน และรูปภาพส่วนต่าง ๆ ไม่แสดง เลยทำให้เคนเกิดความสงสัยก่อนเลยว่าไอแพดเป็นตัว iOS เวอร์ชั่นเก่าใช่มั้ย เพราะว่า iOS 10 ที่เคนลองเทสบนไอโฟนมันใช้ได้ปกติ

ข้อสันนิษฐาน

มีข้อสันนิษฐานในตอนต้นอยู่ 2 ข้อ คือ

  1. WordPress รึเปล่าเพราะมันเพิ่งอัพเกรดเป็นเวอร์ชั่น 4.7.4 เมื่อวันก่อน แล้วมาวันนี้ลูกค้าแจ้งเข้ามาเลย
  2. เรื่อง HTTPS อีกรึเปล่า เพราะเว็บนี้ไม่ได้ใช้เป็น HTTPS

หลังจาก Web Inspector เข้าไปที่ Ipad แล้วก็พบว่ามันเป็นข้อ 3 คือ

Arrow Function ในไฟล์ Javascript มันใช้ไม่ได้บน iOS 9.3.5 หรือต่ำกว่านั่นเอง

Arrow Function หน้าตาเป็นยังไง?


Arrow Function เพิ่งมาตอนที่ Javascript ES6 ครับ ซึ่งมันเป็นรูปแบบลัดในการเขียนจาก

function(arg) { alert(arg); }

เป็น

(arg) => { alert(arg); } 

หรือจะเขียนแบบนี้ก็ได้เช่นกัน

(arg) => alert(arg);

ปัญหาจริง ๆ

ปัญหาในโค้ดจริง ๆ คือเป็นโค้ดเกี่ยวกับป้องกันการคลิกขวาครับ ซึ่งโค้ดที่ใช้จะเป็นแบบนี้

document.AddEventListener('contextmenu', (e) => e.preventDefault());

เลยเปลี่ยนกลับไปใช้เป็นของดั้งเดิม

document.AddEventListener('contextmenu', function(e) {
    e.preventDefault();
}

ก็กลับมาใช้งานได้แบบไม่มีปัญหาครับ

0 0 votes
Article Rating
เราใช้คุกกี้เพื่อให้ทุกคนได้รับประสบการณ์การใช้งานที่ดียิ่งขึ้น
0
Would love your thoughts, please comment.x
()
x