🔗onestore.link

นักพัฒนา

ทำไม iPad ของฉันถึงได้หน้าเดสก์ท็อปแทนที่จะเป็น App Store

ตั้งแต่ iPadOS 13 เป็นต้นมา Safari บน iPad บอกว่าตัวเองเป็น Mac นี่คือเหตุผลที่การเปลี่ยนเส้นทางตามอุปกรณ์พลาดมันไป และวิธีจับมันให้ได้

คำตอบสั้น ๆ

ตั้งแต่ iPadOS 13 Safari บน iPad ขอเว็บไซต์เวอร์ชันเดสก์ท็อปและส่ง user agent ของ Mac (“Macintosh; Intel Mac OS X 10_15_7”) การเปลี่ยนเส้นทางที่ตรวจหาคำว่า “iPad” จึงมองมันเป็นคอมพิวเตอร์ เซิร์ฟเวอร์แยกทั้งสองไม่ออก แต่ในเบราว์เซอร์ user agent ของ Mac ที่มี navigator.maxTouchPoints มากกว่า 1 คือ iPad OneStoreLink (onestore.link) ส่ง iPad แบบนี้ไปยังหน้าสำหรับคอมพิวเตอร์ ซึ่งมีปุ่ม App Store ที่ห่างจากสโตร์เพียงแตะเดียว

ตรวจทานล่าสุด 2026-11-03

คุณสร้างลิงก์ที่ส่ง iPhone ไปยัง App Store และโทรศัพท์ Android ไปยัง Google Play มันใช้ได้กับทุกโทรศัพท์ที่คุณทดสอบ แล้วก็มีคนใช้ iPad มาลงที่หน้าเดสก์ท็อปของคุณ โค้ดของคุณไม่ได้ผิด: iPad โกหกว่าตัวเองเป็นอะไรโดยตั้งใจ เพราะ Apple ต้องการให้ iPad ได้เว็บไซต์เดสก์ท็อปแบบเต็ม คู่มือนี้อธิบายว่า iPad ส่งอะไรมา ทำไมเซิร์ฟเวอร์จึงมองไม่ทะลุ วิธีตรวจจับมันในเบราว์เซอร์ และการเปลี่ยนเส้นทางไปสโตร์ควรจัดการกับมันอย่างไร

สร้างลิงก์ฟรีในราวหนึ่งนาทีหรือเข้าสู่ระบบ →

ปัญหา

  • ตั้งแต่ iPadOS 13 Safari บน iPad ขอเว็บไซต์เดสก์ท็อปเป็นค่าเริ่มต้น และส่ง user agent เดียวกับ Safari บน Mac
  • การตรวจอย่าง /iPad|iPhone/ กับ user agent จะไม่ตรงเลย iPad จึงถูกมองว่าเป็นคอมพิวเตอร์
  • บนเซิร์ฟเวอร์ไม่มีอะไรอื่นให้ใช้ตัดสิน: คำขอของ iPad ในโหมดเดสก์ท็อปดูเหมือนคำขอของ Mac ทุกประการ
  • ถ้าทางสำหรับคอมพิวเตอร์แสดงแค่หน้าเว็บที่ไม่มีปุ่มสโตร์ ผู้ใช้ iPad จะติดอยู่ห่างจากแอปที่ติดตั้งได้เพียงก้าวเดียว

เมื่อใช้ onestore.link

  • ในเบราว์เซอร์ ให้ถือว่า user agent “Macintosh” ที่มีจุดสัมผัสมากกว่าหนึ่งจุดคือ iPad: navigator.maxTouchPoints เป็น 0 บน Mac
  • บนเซิร์ฟเวอร์ ทำให้ทางสำหรับคอมพิวเตอร์ไม่เป็นอันตราย: หน้าที่มีปุ่มสโตร์ทั้งสองปุ่ม ไม่ใช่หน้าที่ไม่มีปุ่มเลย
  • onestore.link ตัดสินบนเซิร์ฟเวอร์: ในเบราว์เซอร์ปกติ user agent ของ iPhone และ iPad ไปที่ App Store โดยตรง Android ไปที่ Google Play และอย่างอื่นทั้งหมด รวมถึง iPad ในโหมดเดสก์ท็อป จะได้หน้าที่มีปุ่มสโตร์ทั้งสองปุ่มและ QR code
  • บนหน้านั้น ปุ่ม App Store จะเปิด App Store บน iPad เครื่องนั้นเอง ผู้เข้าชมจึงห่างจากการติดตั้งเพียงแตะเดียว

วิธีทำ

ไม่ต้องใช้ SDK ไม่ต้องบิลด์ใหม่ แค่ URL เดียว

  1. 1

    จดจำ iPad ในเบราว์เซอร์

    ถ้าการเปลี่ยนเส้นทางของคุณทำงานด้วย JavaScript ให้เพิ่มการตรวจระบบสัมผัสเข้าไปในการตรวจ user agent Mac ไม่เคยรายงานจุดสัมผัสมากกว่าหนึ่งจุด แต่ iPad รายงาน

    // iPadOS 13+: Safari บน iPad รายงาน user agent ของ Mac
    const ua = navigator.userAgent;
    const isIOS = /iPad|iPhone|iPod/.test(ua) ||
      (/Macintosh/.test(ua) && navigator.maxTouchPoints > 1);
    const isAndroid = /Android/i.test(ua);
  2. 2

    ใส่ปุ่มสโตร์ทั้งสองปุ่มในทางสำหรับคอมพิวเตอร์

    การเปลี่ยนเส้นทางฝั่งเซิร์ฟเวอร์รันการตรวจนั้นไม่ได้ หน้าที่มันส่งให้ “คอมพิวเตอร์” จึงจะถูก iPad บางเครื่องเห็น ใส่ปุ่ม App Store และปุ่ม Google Play ไว้บนหน้านั้น พร้อม QR code สำหรับเดสก์ท็อปจริง

  3. 3

    หรือให้ onestore.link จัดการการกำหนดเส้นทาง

    สร้าง onestore.link ด้วย URL ของสโตร์ทั้งสองของคุณ โทรศัพท์จะถูกเปลี่ยนเส้นทางบนเซิร์ฟเวอร์ และผู้เข้าชมอื่นทั้งหมด รวมถึง iPad ในโหมดเดสก์ท็อป จะได้หน้าที่มีทั้งสองปุ่มและ QR code ไม่มีโค้ดให้ดูแล

คำถามที่พบบ่อย

ทำไม iPad ถึงส่ง user agent ของ Mac

ตั้งแต่ iPadOS 13 Safari บน iPad ขอเว็บไซต์เวอร์ชันเดสก์ท็อปเป็นค่าเริ่มต้น และเพื่อให้ได้มา มันจึงระบุตัวว่าเป็น Safari บน macOS ผู้ใช้สามารถสลับเว็บไซต์กลับเป็นเวอร์ชันมือถือได้ แต่ส่วนใหญ่ไม่เคยทำ

เซิร์ฟเวอร์ตรวจจับ iPad ที่ขอเว็บไซต์เดสก์ท็อปได้ไหม

ไม่ได้อย่างน่าเชื่อถือ user agent เหมือนของ Mac ทุกประการ และไม่มี header ใดของคำขอที่เผยว่ามีหน้าจอสัมผัส การตรวจจับต้องใช้ JavaScript ในหน้าเว็บ ซึ่งการเปลี่ยนเส้นทาง 302 ธรรมดาไม่ได้รัน

ใช้ navigator.maxTouchPoints อย่างเดียวพอไหม

ใช้ร่วมกับ user agent: user agent “Macintosh” ที่มี navigator.maxTouchPoints มากกว่า 1 คือ iPad ถ้าใช้อย่างเดียวจะไปตรงกับแล็ปท็อป Windows ที่มีหน้าจอสัมผัสด้วย

ผู้ใช้ iPad เห็นอะไรเมื่อใช้ onestore.link

ในโหมดเดสก์ท็อปเริ่มต้นของ Safari จะเห็นหน้าสำหรับคอมพิวเตอร์: ชื่อและไอคอนของแอป ปุ่ม App Store ปุ่ม Google Play และ QR code การแตะ App Store จะเปิด App Store บน iPad ส่วน iPad ที่เบราว์เซอร์ส่ง user agent ของ iPad จะถูกเปลี่ยนเส้นทางไปที่ App Store โดยตรง

พร้อมลองแล้วหรือยัง

ฟรีตลอดไป ไม่ต้องใช้รหัสผ่าน ลิงก์ของคุณพร้อมใช้ในราวหนึ่งนาที

สร้างลิงก์ฟรีของคุณ
งานวิจัยต้นฉบับเกิดอะไรขึ้นกับลิงก์แอปที่เปิดภายใน Instagram และ TikTok: วัดผลการเปลี่ยนเส้นทาง 74,000 ครั้งการโหลดล่วงหน้าที่ไม่มีใครเห็น webview ของ TikTok ที่ปฏิเสธการเปิดสโตร์ และ App Store ที่เปิดซ้อนทับหน้าเว็บ: สิ่งที่บันทึกการเปลี่ยนเส้นทางของเราบอก

กำลังเปรียบเทียบเครื่องมืออยู่ใช่ไหม onestore.link vs onelink to →

คู่มืออื่น ๆ

สำรวจเพิ่มเติม