location.href ไม่ทำงานเพราะ # (hashtag)

ไปเจอปัญหาแปลกๆ มา 1 อย่างตามหัวเรื่องเลย เพราะอยู่ดีๆ ลูกค้าก็แจ้งมาว่าไม่สามารถเข้าสู่ระบบได้ หลังจากเช็คดูก็ปกติดี จนกระทั่งเหลือบไปเห็นว่า ที่ Url ของลูกค้ามี #login แปะท้ายเข้าไปด้วยอยู่ ตัวอย่าง https://www.toskysoft.com/@kanexkane#login

ทำให้ตอนสั่ง window.location.href ระบบมันก็นิ่งไปเฉยๆ เลย แถมตอนแรกนึกว่าอะไรรู้ป่ะ วันนี้เป็นวันแรกที่อัพเกรด macOS Sierra

macos-sierra

 

ก็สงสัยก่อนเลยหรือตัว macOS มันทำอะไรอีก 555 เพราะลูกค้าก็ใช้ Macbook เราก็ไปลองกะ Safari ก่อนเลย โคตรเขิน

หลังจากที่หาเจอแล้ววิธีแก้ปัญหาก็ง่ายๆ แค่ทำให้มันไม่มี #login ติดอยู่ตอนสั่ง window.location.href ก็พอ คำสั่งก็จะออกมาเป็นแบบนี้

 

window.location.href = "https://www.toskysoft.com/@kanexkane#login".replace(location.hash,"");

 

เรียบร้อยแล้ว แก้บั๊กง่ายๆ ที่หายากไปอีก 1 จุด ที่บอกว่าหายากเพราะว่าไม่เคยคิดว่ามันจะเป็นนี่สิ!

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

ตั้งค่าความเป็นส่วนตัว

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

ยอมรับทั้งหมด
จัดการความเป็นส่วนตัว
  • คุกกี้ที่จำเป็น
    เปิดใช้งานตลอด

    ประเภทของคุกกี้มีความจำเป็นสำหรับการทำงานของเว็บไซต์ เพื่อให้คุณสามารถใช้ได้อย่างเป็นปกติ และเข้าชมเว็บไซต์ คุณไม่สามารถปิดการทำงานของคุกกี้นี้ในระบบเว็บไซต์ของเราได้

  • คุกกี้เพื่อการวิเคราะห์

    คุกกี้นี้เป็นการเก็บข้อมูลสาธารณะสำหรับการวิเคราะห์ และเก็บสถิติการใช้งานภายในเว็บไซต์นี้เท่านั้น ไม่ได้เก็บข้อมูลส่วนตัวที่ไม่เป็นสาธารณะใดๆ ของผู้ใช้งาน

บันทึกการตั้งค่า