คำถามติดแท็ก cross-browser

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

6
สถิติเบราว์เซอร์บน JavaScript ถูกปิดใช้งาน [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน3 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันมีปัญหาในการรวบรวมสถิติที่เปิดเผยต่อสาธารณะเกี่ยวกับเปอร์เซ็นต์ของผู้ใช้เว็บที่ปิดใช้งาน JavaScript Yahoo ได้เผยแพร่ข้อมูลจากปี 2010และR. Reid เผยแพร่ข้อมูลจากปี 2009 (เลือกจากเว็บไซต์ที่เขาเข้าถึงได้) สิ่งที่ค้นพบจาก Yahoo ค่อนข้างน่าสนใจในเวลานั้น: เราใช้บันทึกการเข้าถึงและข้อมูลบีคอนรวมกัน (ก่อนหน้านี้รวมอยู่ในหน้านี้) และกรองคำขออัตโนมัติทั้งหมดออกไปโดยปล่อยให้เรามีคำขอชุดหนึ่งที่เราสามารถยืนยันได้ว่าถูกส่งโดยผู้ใช้จริง ข้อมูลนี้ซึ่งไม่ระบุชื่อโดยสิ้นเชิงทำให้เราสามารถบ่งชี้รูปแบบการจราจรในหลายประเทศได้เป็นอย่างดี หลังจากประมวลผลตัวเลขแล้วเราพบว่ามีอัตราคำขอที่ปิดใช้งาน JavaScript ที่สอดคล้องกันซึ่งวนเวียนอยู่ที่ประมาณ 1% ของการเข้าชมจริงโดยอัตราสูงสุดคือประมาณ 2 เปอร์เซ็นต์ในสหรัฐอเมริกาและต่ำสุดประมาณ 0.25 เปอร์เซ็นต์ในบราซิล ประเทศอื่น ๆ ทั้งหมดที่ทดสอบพบว่ามีตัวเลขใกล้เคียง 1.3 เปอร์เซ็นต์ นี่คือสิ่งที่ฉันหาได้จนถึงตอนนี้ แต่เนื่องจากข้อมูลนี้เริ่มเก่าแล้วฉันจึงสงสัยว่าวันนี้เปอร์เซ็นต์เป็นอย่างไร ฉันยังดูStatcounterซึ่งดูเหมือนว่าจะเป็น บริษัท เดียวที่ยังคงเผยแพร่สถิติเบราว์เซอร์อย่างเปิดเผย แต่จะไม่เผยแพร่ข้อมูลเกี่ยวกับ JavaScript ฉันรู้ว่าW3schools ยังเผยแพร่สถิติด้วยเช่นกัน แต่เนื่องจากเป้าหมายมุ่งเป้าไปที่นักพัฒนาข้อมูลนี้จึงมีความเอนเอียงอย่างมากดังนั้นจึงไม่น่าสนใจสำหรับฉัน …

11
รับการแสดงสตริงของโหนด DOM
Javascript: ฉันมีการแสดง DOM ของโหนด (องค์ประกอบหรือเอกสาร) และฉันกำลังมองหาการแสดงสตริงของมัน เช่น, var el = document.createElement("p"); el.appendChild(document.createTextNode("Test")); ควรให้ผล: get_string(el) == "<p>Test</p>"; ฉันมีความรู้สึกที่ดีว่าฉันพลาดอะไรง่ายๆไปเล็กน้อย แต่ฉันไม่พบวิธีที่ใช้ได้กับ IE, FF, Safari และ Opera ดังนั้น outerHTML จึงไม่มีตัวเลือก

5
แสดงป้ายชื่อดาต้าลิสต์ แต่ส่งค่าจริง
ปัจจุบัน<datalist>องค์ประกอบHTML5 ได้รับการสนับสนุนในเบราว์เซอร์หลัก ๆ ส่วนใหญ่ (ยกเว้น Safari) และดูเหมือนจะเป็นวิธีที่น่าสนใจในการเพิ่มคำแนะนำให้กับอินพุต อย่างไรก็ตามดูเหมือนว่าจะมีความแตกต่างบางประการระหว่างการใช้งานvalueแอตทริบิวต์และข้อความด้านในของไฟล์<option>. ตัวอย่างเช่น: <input list="answers" name="answer"> <datalist id="answers"> <option value="42">The answer</option> </datalist> เบราว์เซอร์ต่างๆจัดการสิ่งนี้แตกต่างกัน: Chrome และ Opera: FireFox และ IE 11: หลังจากเลือกหนึ่งรายการอินพุตจะเต็มไปด้วยค่าไม่ใช่ข้อความด้านใน ฉันเพียงต้องการให้ผู้ใช้เห็นข้อความ ("คำตอบ") ในเมนูแบบเลื่อนลงและในอินพุต แต่ส่งผ่านค่า42เมื่อส่งเช่นเดียวกับที่selectต้องการ ฉันจะทำให้เบราว์เซอร์ทั้งหมดมีรายการแบบเลื่อนลงแสดงป้าย (ข้อความด้านใน) ของ<option>s ได้อย่างไร แต่จะส่งvalueแอตทริบิวต์เมื่อส่งแบบฟอร์ม

16
การตรวจจับแฟลชข้ามเบราว์เซอร์ใน Javascript
ใครมีตัวอย่างของสคริปต์ที่สามารถทำงานได้ดีบน IE / Firefox เพื่อตรวจสอบว่าเบราว์เซอร์สามารถแสดงเนื้อหาแฟลชแบบฝังได้หรือไม่ ฉันพูดอย่างน่าเชื่อถือเพราะฉันรู้ว่ามันเป็นไปไม่ได้ 100% ของเวลา

6
แท็ก HTML5 ใดที่ฉันสามารถใช้ได้โดยไม่ต้องกังวลเกี่ยวกับความเข้ากันได้ของเบราว์เซอร์
ฉันกำลังสร้างเว็บแอปสำหรับใช้กับพีซี แท็ก HTML5 อะไรบ้างที่ควรหลีกเลี่ยงเพื่อป้องกันปัญหาความเข้ากันได้กับเบราว์เซอร์เช่น IE8 ขึ้นไป หมายเหตุ: คำถามส่วนใหญ่ 1-3 ปีในหัวข้อนี้

9
วิธีบีบอัดภาพผ่าน Javascript ในเบราว์เซอร์?
TL; DR; มีวิธีบีบอัดรูปภาพ (ส่วนใหญ่เป็น jpeg, png และ gif) โดยตรงทางฝั่งเบราว์เซอร์ก่อนที่จะอัปโหลดหรือไม่? ฉันค่อนข้างมั่นใจว่า JavaScript สามารถทำได้ แต่ฉันไม่สามารถหาวิธีที่จะบรรลุมันได้ นี่คือสถานการณ์ทั้งหมดที่ฉันต้องการนำไปใช้: ผู้ใช้ไปที่เว็บไซต์ของฉันและเลือกรูปภาพผ่านinput type="file"องค์ประกอบ ภาพนี้เรียกดูผ่าน JavaScript เราทำการตรวจสอบบางอย่างเช่นรูปแบบไฟล์ที่ถูกต้องขนาดไฟล์สูงสุดเป็นต้น หากทุกอย่างเรียบร้อยจะมีการแสดงภาพตัวอย่างบนหน้า ผู้ใช้สามารถดำเนินการขั้นพื้นฐานบางอย่างเช่นหมุนภาพ 90 ° / -90 °ครอบตัดตามอัตราส่วนที่กำหนดไว้ล่วงหน้า ฯลฯ หรือผู้ใช้สามารถอัปโหลดภาพอื่นและกลับไปที่ขั้นตอนที่ 1 เมื่อผู้ใช้พอใจภาพที่แก้ไขจะถูกบีบอัดและ "บันทึก" ไว้ในเครื่อง (ไม่ได้บันทึกลงในไฟล์ แต่อยู่ในหน่วยความจำ / หน้าของเบราว์เซอร์) - ผู้ใช้กรอกแบบฟอร์มด้วยข้อมูลเช่นชื่ออายุ ฯลฯ ผู้ใช้คลิกที่ปุ่ม "เสร็จสิ้น" จากนั้นแบบฟอร์มที่มีข้อมูล + รูปภาพที่บีบอัดจะถูกส่งไปยังเซิร์ฟเวอร์ (ไม่มี AJAX) กระบวนการทั้งหมดจนถึงขั้นตอนสุดท้ายควรทำในฝั่งไคลเอ็นต์และควรเข้ากันได้กับ Chrome และ Firefox, …

8
PostMessage ข้ามต้นทางเสียใน IE10 หรือไม่
ฉันกำลังพยายามสร้างpostMessageตัวอย่างงานเล็กน้อย... ใน IE10 ระหว่างหน้าต่าง / แท็บ (เทียบกับ iframes) ข้ามต้นกำเนิด ลบเงื่อนไขใด ๆ เหล่านี้ออกและสิ่งต่างๆก็ใช้ได้ดี :-) แต่เท่าที่ฉันสามารถบอกได้ว่าระหว่างหน้าต่างpostMessageดูเหมือนจะทำงานใน IE10 เท่านั้นเมื่อทั้งสองหน้าต่างแชร์จุดเริ่มต้น (ในความเป็นจริง - และแปลก - พฤติกรรมนั้นอนุญาตมากกว่านั้นเล็กน้อย: สองต้นกำเนิดที่แตกต่างกันที่แบ่งปันโฮสต์ดูเหมือนจะทำงานได้เช่นกัน) นี่เป็นข้อบกพร่องที่มีการบันทึกไว้หรือไม่ วิธีแก้ปัญหาหรือคำแนะนำอื่น ๆ ? (หมายเหตุ: คำถามนี้เกี่ยวข้องกับปัญหา แต่คำตอบคือเกี่ยวกับ IE8 และ IE9 ไม่ใช่ 10) รายละเอียดเพิ่มเติม + ตัวอย่าง ... หน้าตัวเรียกใช้การสาธิต <!DOCTYPE html> <html> <script> window.addEventListener("message", function(e){ console.log("Received message: ", e); }, …

4
ตรวจจับเมื่อโหลดเนื้อหา Iframe (ข้ามเบราว์เซอร์)
ฉันกำลังพยายามตรวจสอบเมื่อ iframe และเนื้อหาโหลด แต่ไม่มีโชคมากนัก แอปพลิเคชันของฉันป้อนข้อมูลในช่องข้อความในหน้าต่างหลักและอัปเดต iframe เพื่อให้ 'แสดงตัวอย่างสด' ฉันเริ่มต้นด้วยรหัสต่อไปนี้ (YUI) เพื่อตรวจจับเมื่อเหตุการณ์โหลด iframe เกิดขึ้น $E.on('preview-pane', 'load', function(){ previewBody = $('preview-pane').contentWindow.document.getElementsByTagName('body')[0]; } 'Preview-pane' คือ ID ของ iframe ของฉันและฉันใช้ YUI เพื่อแนบตัวจัดการเหตุการณ์ อย่างไรก็ตามการพยายามเข้าถึงเนื้อหาในการเรียกกลับ (เมื่อโหลด iframe) ล้มเหลวฉันคิดว่าเป็นเพราะ iframe โหลดก่อนที่ตัวจัดการเหตุการณ์จะพร้อม รหัสนี้ใช้งานได้หากฉันชะลอการโหลด iframe โดยสร้างสคริปต์ php ที่สร้างโหมดสลีป โดยทั่วไปฉันกำลังถามว่าอะไรคือแนวทางที่ถูกต้องในเบราว์เซอร์ในการตรวจจับเมื่อ iframe โหลดและเอกสารพร้อมแล้ว?

7
มีค่า css cross-browser สำหรับ "width: -moz-fit-content;" หรือไม่
ฉันต้องการให้ div อยู่ในตำแหน่งกึ่งกลางและพอดีกับความกว้างของเนื้อหาในเวลาเดียวกัน ตอนนี้ฉันทำแบบนี้: .mydiv-centerer{ text-align: center; .mydiv { background: none no-repeat scroll 0 0 rgba(1, 56, 110, 0.7); border-radius: 10px 10px 10px 10px; box-shadow: 0 0 5px #0099FF; color: white; margin: 10px auto; padding: 10px; text-align: justify; width: -moz-fit-content; } } ตอนนี้คำสั่งสุดท้าย"width: -moz-fit-content;" คือว่าสิ่งที่ฉันต้องการ! ปัญหาเดียวคือ .. มันใช้งานได้บน Firefox เท่านั้น …

9
วิธีที่ถูกต้องในการใช้ Modernizr เพื่อตรวจจับ IE?
ฉันต้องการใช้ไลบรารี Modernizr JS เพื่อตรวจหาคุณสมบัติบางอย่างของเบราว์เซอร์เพื่อกำหนดเนื้อหาที่จะแสดงหรือไม่แสดง ฉันมีแอปชื่อPano2VRซึ่งแสดงผลทั้ง HTML5 และ SWF ฉันต้องการ HTML5 สำหรับผู้ใช้อุปกรณ์ iOS อย่างไรก็ตาม IE ไม่แสดงผลลัพธ์ "HTML5" นี้เลย ดูเหมือนว่าผลลัพธ์ของพวกเขาใช้การแปลง CSS3 3D และ WebGL ซึ่งเห็นได้ชัดว่าอย่างน้อยหนึ่งรายการไม่รองรับใน IE9 ดังนั้นสำหรับผู้ใช้เหล่านั้นฉันจำเป็นต้องแสดงเวอร์ชัน Flash ฉันวางแผนที่จะใช้ IFRAME และส่ง SRC ผ่านสคริปต์ Modernizr หรือเอกสารเขียนโค้ด IFRAME ที่ถูกต้องขึ้นอยู่กับเบราว์เซอร์ ทั้งหมดนี้นำไปสู่ฉันจะใช้ Modernizr เพื่อตรวจหา IE หรือไม่ IE ได้อย่างไร หรือตรวจหาการแปลง CSS 3d? หรือมีวิธีอื่นในการทำเช่นนี้?

2
วิธีการตรวจสอบเมื่อเบราว์เซอร์ throttles ตัวจับเวลาและ websockets ขาดการเชื่อมต่อหลังจากที่ผู้ใช้ออกจากแท็บหรือปิดหน้าจอ? (จาวาสคริปต์)
บริบท เกมที่จัดส่งเป็นแอปเว็บโปรเกรสซีฟซึ่งมีตัวจับเวลา ( setTimeout, setInterval) และการเชื่อมต่อ websocket เพื่อรับการสื่อสารตามเวลาจริง เกิดอะไรขึ้น ทุกอย่างเรียบร้อยตราบใดที่ผู้ใช้ยังอยู่ในแอพ แต่เมื่อผู้ใช้ไปที่แท็บอื่นหรือแอพอื่นหรือปิดหน้าจอ (ในกรณีที่ใช้มือถือ) มันจะกลายเป็น "โลกที่ไม่รู้จักชั่วร้าย" เว็บซ็อคเก็ตอาจหรือไม่อาจกลายเป็น "หยุดชั่วคราว" หรือ "ปิด" ตัวจับเวลาดูเหมือนว่าพวกเขาจะถูกควบคุมปริมาณหรือเลิก พฤติกรรมนี้ดูเหมือนจะขึ้นอยู่กับเบราว์เซอร์และแพลตฟอร์มและบางทีอาจขึ้นอยู่กับพฤติกรรมของผู้ใช้ ฉันเดาว่าเบราว์เซอร์และระบบปฏิบัติการมีวงจร / กลไกของตัวเองเพื่อประหยัดแบตเตอรี่และ / หรือการคำนวณ เมื่อผู้ใช้กลับมาแอปนั้นอยู่ในสถานะที่ไม่รู้จักและฉันกำลังพยายามกู้คืนสถานะอย่างถูกต้อง เกี่ยวกับเว็บซ็อกเก็ตฉันมีการเชื่อมต่ออัตโนมัติกับsocket.ioและเชื่อมต่ออีกครั้ง - websocketแต่มันก็ไม่เพียงพอที่จะแก้ปัญหาทุกอย่าง กำลังมองหาคำตอบ "วงจรชีวิต" ของเบราว์เซอร์ต่าง ๆ ที่เกี่ยวข้องกับสิ่งเหล่านี้คืออะไร? เป็นเอกสารนี้หรือไม่? พวกเขาตัดสินใจปิดและเค้นเมื่อไหร่? พวกเขาทำอะไรกับ websockets อย่างแน่นอน? เบราว์เซอร์เพิ่งยกเลิกการเชื่อมต่อหรือไม่ พวกเขาทำอะไรกับตัวจับเวลาอย่างแน่นอน? พวกเขาเร่งเร้าพวกเขาหรือหักหลังพวกเขาหรืออย่างอื่น เกิดอะไรขึ้นกับการใช้งานจาวาสคริปต์โดยทั่วไป? หยุดชั่วคราว / ทำลาย / ควบคุมปริมาณ? มีวิธีที่จะขอเข้าสู่วงจรชีวิตของเบราว์เซอร์บางประเภทเมื่อกำลังจะปิดบางสิ่งหรือไม่? สิ่งเดียวที่ฉันสามารถค้นหาได้คือAPI …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.