รับ User Agent ด้วย JavaScript


88

ฉันต้องการรับสคริปต์ที่สามารถคว้าตัวแทนผู้ใช้ของผู้ใช้และนำไปใช้กับแอตทริบิวต์

ฉันกำลังทำแบบฟอร์มติดต่อปัญหาเกี่ยวกับเว็บไซต์และโดยปกติฉันจำเป็นต้องทราบว่าผู้ใช้ใช้เบราว์เซอร์อะไร ฉันจะตรวจจับสตริงตัวแทนผู้ใช้และกำหนดเป็นค่าขององค์ประกอบอินพุตได้อย่างไร

html ของฉันมีลักษณะดังนี้:

<input type="hidden" id="UserAgent" name="User Agent" />

ฉันต้องการเพิ่มตัวแทนผู้ใช้เป็นแอตทริบิวต์ค่าดังนั้นจึงมีลักษณะดังนี้:

<input type="hidden" id="UserAgent" name="User Agent" value="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/534.53.11 (KHTML, like Gecko) Version/5.1.3 Safari/534.53.10" />

4
คุณไม่จำเป็นต้องใช้ JavaScript ในการดำเนินการนี้ เพียงอ่านสตริงตัวแทนผู้ใช้จากส่วนหัว HTTP
Bergi

8
@Bergi: จริงๆแล้วนั่นก็ต่อเมื่อคุณต้องการที่ฝั่งเซิร์ฟเวอร์เท่านั้น ด้วย JavaScript - navigator.userAgentควรเพียงพอตามคำตอบที่ยอมรับ
Robin Maben

1
@Robin: OP จะขอฝั่งเซิร์ฟเวอร์เขาต้องการที่จะได้รับสตริง UA โพสต์แบบฟอร์มการติดต่อของเขา
Bergi

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

คำตอบ:


180

Javascript บริสุทธิ์

document.getElementById('UserAgent').value = navigator.userAgent;
<input type="text" id="UserAgent">

jQuery

$('#UserAgent').val(navigator.userAgent);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<input type="text" id="UserAgent">


8
โปรดเพิ่มทางเลือกที่ไม่ใช่ JQuery ในคำตอบ นักพัฒนาหน้าใหม่หลายคนคิดว่า jQuery คือ Javascript :-(
Mark Cooper

จะไม่ทำงานใน jQuery 1.9 หรือใหม่กว่าเว้นแต่จะรวมปลั๊กอิน jQuery Migrate
Davlio

@Davlio นี้ไม่เป็นความจริง ตัวอย่างนั้นใช้ jQuery 1.11.1 และไม่ได้ใช้ปลั๊กอินโยกย้าย
Adam Merrifield

@AdamMerrifield คุณพูดถูก! ฉันพูด$.browserและไม่สามารถแก้ไขความคิดเห็นได้
Davlio

51

Original Q ไม่ได้พูดอะไรเกี่ยวกับ jQuery ดังนั้น

document.getElementById('UserAgent').value = navigator.userAgent;
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.