สตริงตัวแทนผู้ใช้ iOS 5.0 คืออะไร


91

อะไรคือ ใช้ iOS 5.0ผู้ใช้สตริงตัวแทน?

นี่คือตัวแทนผู้ใช้iOS 4.0 : User-agent ของ iPhone 4 คืออะไร


2
ในคำตอบ SOนี้คุณสามารถค้นหานิพจน์ทั่วไปเพื่อตรวจสอบว่าสตริงตัวแทนผู้ใช้ที่ระบุเป็นiOS 5.0หรือไม่
Stephan

คำตอบ:


151

iPhone:

Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3

iPad:

Mozilla/5.0 (iPad; CPU OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3

3
แก้ไข. จาก iPhone ของฉัน: Mozilla / 5.0 (iPhone; CPU iPhone OS 5_0 เช่น Mac OS X) AppleWebKit / 534.46 (KHTML เช่น Gecko) เวอร์ชัน / 5.1 Mobile / 9A334 Safari / 7534.48.3
Ben

11

ไซต์นี้ดูเหมือนจะ มีรายการทั้งหมดที่ยังคงอยู่

iPhone, iPod Touch และ iPad จาก iOS 2.0 - 5.1.1 (จนถึงปัจจุบัน)

คุณจำเป็นต้องรวบรวมสตริง user-agent แบบเต็มจากข้อมูลที่แสดงในคอลัมน์ของเพจ


1
ฉันเริ่มต้นด้วยไซต์ที่อ้างถึงที่นี่ แต่ไม่มีหมายเลขบิลด์ชุดเว็บซึ่งเป็นสิ่งที่ Google Analytics แสดง ผมพบว่ารายการที่สมบูรณ์ที่useragentstring.com/pages/Safari
Andrew Steitz

1
ฉันรวบรวมรายชื่อด้วย User-agent จำนวนมาก หวังว่ามันจะช่วยcodereye.com/2014/12/list-of-mobile-user-agents.html
บาชาน

ขอบคุณ @Nate จะทำเช่นนั้น
bashan

10

ผมพบว่ารายชื่อที่สมบูรณ์มากขึ้นในสตริงตัวแทนผู้ใช้ BTW ไซต์นี้มีสตริงตัวแทนผู้ใช้ iOS มากกว่า นอกจากนี้โฮมเพจจะ "แจกแจง" สตริงตัวแทนผู้ใช้ของเบราว์เซอร์ปัจจุบันให้คุณ


ลิงก์สตริงตัวแทนผู้ใช้เสีย :( ฉันคิดว่าตอนนี้ควรชี้ไปที่: useragentstring.com/pages/useragentstring.php?name=Safari
Lucas Morgan

1
@LucasMorgan ขอบคุณสำหรับบันทึก! ฉันได้แก้ไขแล้วในคำตอบของฉัน
Andrew Steitz

2

แก้ไขการประเมินสตริงตัวแทนของฉันโดยการขัดสตริงสำหรับ LOWERCASE "iphone os 5_0" ซึ่งตรงข้ามกับ "iPhone OS 5_0" ตอนนี้ฉันกำลังกำหนดคลาสเฉพาะ iOS 5 ให้กับ html ของฉันอย่างถูกต้องเมื่อการขัดตัวพิมพ์ใหญ่ล้มเหลว


1
โดยส่วนตัวแล้วฉันจะตรวจพบมากกว่า iPhone เพราะในตัวอย่างข้างต้นคุณไม่ได้แสดงรหัสเฉพาะ iOS 5 ให้กับ iPads และ iPod touch สิ่งที่คุณอาจต้องการคิดคือความจริงที่ว่าเวอร์ชันจะเพิ่มขึ้นในบางจุด คำแนะนำของฉันน่าจะชัดเจนสำหรับคนส่วนใหญ่ - ตรวจหาอุปกรณ์มือถือของ Apple ก่อนเช่น iPad / iPod / iPhone จากนั้นหากเป็นกรณีนี้ให้แยกวิเคราะห์เวอร์ชันของ ... ไม่ใช่ iOS แต่อาจเป็นเบราว์เซอร์เช่นในกรณีนี้ เวอร์ชัน / 5.1 จะเป็นตัวบ่งชี้ เมื่อคุณทราบเวอร์ชันแล้วคุณจะต้องใช้รหัสของคุณในเงื่อนไข "ไม่ต่ำกว่า"
hndcrftd

1

ฉันใช้สิ่งต่อไปนี้เพื่อตรวจจับอุปกรณ์มือถือวิวพอร์ตและหน้าจอต่างๆ ทำงานได้ดีสำหรับฉันอาจเป็นประโยชน์กับผู้อื่น:

var pixelRatio = window.devicePixelRatio || 1;

var viewport = {
    width: window.innerWidth,
    height: window.innerHeight
};

var screen = {
    width: window.screen.availWidth * pixelRatio,
    height: window.screen.availHeight * pixelRatio
};

var iPhone = /iPhone/i.test(navigator.userAgent);
var iPhone4 = (iPhone && pixelRatio == 2);
var iPhone5 = /iPhone OS 5_0/i.test(navigator.userAgent);
var iPad = /iPad/i.test(navigator.userAgent);
var android = /android/i.test(navigator.userAgent);
var webos = /hpwos/i.test(navigator.userAgent);
var iOS = iPhone || iPad;
var mobile = iOS || android || webos;

window.devicePixelRatioคืออัตราส่วนระหว่างพิกเซลทางกายภาพและพิกเซลที่ไม่ขึ้นกับอุปกรณ์ (dips) บนอุปกรณ์ window.devicePixelRatio= พิกเซล / dips ทางกายภาพ

ข้อมูลเพิ่มเติมที่นี่


1
ขอบคุณสำหรับการตอบกลับ แต่โปรดทราบว่านี่ไม่ใช่วิธีที่มีประสิทธิภาพและอุปกรณ์บางเวอร์ชันจะสูญหาย ตัวอย่างเช่นฉันเพิ่งตรวจสอบตัวแทนผู้ใช้บน iPad 1 รุ่นเก่าของฉันและมีข้อความว่า "... iPad; CPU OS 5_1_1 ... " ไม่มีตัวแปรใดของคุณที่จับได้ คุณจะต้องมี regex เช่นvar iOS5 = /(iPhone|iPad).*OS 5_.*/i.test(navigator.userAgent);
Mauvis Ledford
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.