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

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

4
CSS เริ่มต้นของเบราว์เซอร์สำหรับองค์ประกอบ HTML
ฉันจะหา CSS เริ่มต้นของเบราว์เซอร์สำหรับองค์ประกอบ HTML ได้ที่ไหน องค์ประกอบ HTML จำนวนมากมาพร้อมกับคุณสมบัติ CSS เริ่มต้นซึ่งบางครั้งอาจส่งผลให้เกิดพฤติกรรมที่ไม่รู้จัก / ไม่พึงประสงค์ ตัวอย่างเช่นกล่องอินพุตจะแสดงแตกต่างกันในเบราว์เซอร์ที่แตกต่างกัน ฉันกำลังมองหาสถานที่ที่ครอบคลุมคุณสมบัติ CSS3 ใหม่และองค์ประกอบ HTML5 ใหม่ ฉันเคยเห็นในคำถามอื่น ๆ (เก่ากว่า) (เช่นCSS สไตล์ชีตเริ่มต้นของเบราว์เซอร์ ) คำตอบที่แนะนำการแก้ปัญหาการรีเซ็ต CSS บางครั้งไม่ต้องการโซลูชันนี้บ่อยครั้งที่ฉันต้องการเก็บคุณสมบัติพื้นฐานบางอย่างไว้ (เช่นการเน้นกล่องใส่ข้อมูลใน Chrome) ในคำอื่น ๆ : ฉันไม่ต้องการที่จะกำจัดสิ่งเพียงเพราะผมไม่ทราบว่าสิ่งที่พวกเขาทำ ดังนั้นมีเว็บไซต์ที่สามารถให้ข้อมูลทั้งหมดนี้กับฉัน (หรืออาจมากที่สุด) ได้ไหม?
146 html  css  cross-browser 

12
ตรวจสอบภาษาของเบราว์เซอร์ใน PHP
ฉันใช้สคริปต์ PHP ต่อไปนี้เป็นดัชนีสำหรับเว็บไซต์ของฉัน สคริปต์นี้ควรมีหน้าเฉพาะขึ้นอยู่กับภาษาของเบราว์เซอร์ (ตรวจพบอัตโนมัติ) สคริปต์นี้ใช้งานไม่ได้กับเบราว์เซอร์ทั้งหมดดังนั้นจึงรวมถึงindex_en.phpภาษาที่ตรวจพบเสมอ(สาเหตุของปัญหาน่าจะเป็นปัญหาที่ส่วนหัวยอมรับภาษาบางส่วนไม่ได้รับการพิจารณา) คุณช่วยแนะนำโซลูชันที่มีประสิทธิภาพมากขึ้นให้ฉันได้ไหม <?php // Open session var session_start(); // views: 1 = first visit; >1 = second visit // Detect language from user agent browser function lixlpixel_get_env_var($Var) { if(empty($GLOBALS[$Var])) { $GLOBALS[$Var]=(!empty($GLOBALS['_SERVER'][$Var]))? $GLOBALS['_SERVER'][$Var] : (!empty($GLOBALS['HTTP_SERVER_VARS'][$Var])) ? $GLOBALS['HTTP_SERVER_VARS'][$Var]:''; } } function lixlpixel_detect_lang() { // Detect HTTP_ACCEPT_LANGUAGE & …

9
Javascript สลับกับถ้า ... เป็นอย่างอื่นถ้าเป็นอย่างอื่น
พวกฉันมีคำถามสองสามข้อ: มีความแตกต่างของประสิทธิภาพใน JavaScript ระหว่างswitchข้อความสั่งและข้อความif...elseหรือไม่? ถ้าเป็นเช่นนั้นทำไม พฤติกรรมของswitchและif...elseแตกต่างกันในเบราว์เซอร์หรือไม่ (FireFox, IE, Chrome, Opera, Safari) เหตุผลในการถามคำถามนี้ดูเหมือนว่าฉันจะได้รับประสิทธิภาพที่ดีขึ้นในswitchข้อความที่มีประมาณ 1,000 กรณีใน Firefox แก้ไขแล้ว Unfortuantly นี่ไม่ใช่รหัสของฉัน Javascript กำลังสร้างเซิร์ฟเวอร์จากไลบรารีที่รวบรวมและฉันไม่สามารถเข้าถึงรหัสได้ วิธีการที่ผลิตจาวาสคริปต์นั้นเรียกว่า CreateConditionals(string name, string arrayofvalues, string arrayofActions) note arrayofvaluesเป็นรายการที่คั่นด้วยเครื่องหมายจุลภาค สิ่งที่มันผลิตคือ function [name] (value) { if (value == [value from array index x]) { [action from array index x] } } …

3
การทดสอบข้ามเบราว์เซอร์: เบราว์เซอร์หลักทั้งหมดในเครื่องเดียว
จุดมุ่งหมายของคู่มือนี้: เล่นหลายพื้นเมืองแปรรุ่นของ Internet Explorer, Safari, Opera, Chrome และ Firefox ในเครื่องเดียวด้านข้าง ครอบคลุมในส่วนที่ 1 : สารบัญ ต้องทดสอบเบราว์เซอร์ใดบ้าง วิธีสร้าง Windows XP VM ที่บูทอย่างรวดเร็วและไม่มีวันหมดอายุ สามารถดาวน์โหลดซอฟต์แวร์ที่จำเป็น (อิมเมจ VM, เบราว์เซอร์, ... ) ได้ที่ไหน? รวมอยู่ในส่วนที่ 2 : คู่มือการติดตั้งและกำหนดค่าสำหรับ IE, Firefox, Opera, Chrome และ Safari เครื่องมือสำหรับนักพัฒนาและทางลัด เวลาและพื้นที่ดิสก์ค่าใช้จ่าย หลายส่วนมีความเป็นอิสระ เช่นคำแนะนำในการใช้เบราว์เซอร์หลายรุ่นโดยทั่วไป

6
การแก้ไขฟังก์ชั่น JavaScript Array ใน Internet Explorer (indexOf, forEach ฯลฯ ) [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน3 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ตามรายละเอียดอื่น ๆและอื่น ๆ ที่เห็นได้ชัดที่รู้จักกันดี, Internet Explorer (แน่นอน 7 รุ่นและในบางกรณี, รุ่น 8) ไม่ใช้ฟังก์ชั่นที่สำคัญโดยเฉพาะอย่างยิ่งบนArray(เช่นforEach, indexOfฯลฯ ) มีวิธีแก้ไขปัญหาจำนวนมากที่นี่และที่นั่น แต่ฉันต้องการพับชุดการใช้งานที่เหมาะสมและเป็นที่ยอมรับลงในไซต์ของเราแทนที่จะคัดลอกและวางหรือแฮ็กในการใช้งานของเราเอง ฉันพบวิธีการ jsแล้วซึ่งดูเหมือนว่าจะมีแนวโน้ม แต่คิดว่าฉันจะโพสต์ที่นี่เพื่อดูว่ามีห้องสมุดอื่นที่ได้รับการแนะนำสูงกว่านี้หรือไม่ เกณฑ์สองสามประการ: ไลบรารี่ควรจะไม่ทำงานสำหรับฟังก์ชั่นเหล่านั้นที่เบราว์เซอร์มีการใช้งานอยู่แล้ว ( js-methodsดูเหมือนจะทำได้ดีที่นี่) ไม่ใช่GPLโปรดแม้ว่าLGPLจะเป็นที่ยอมรับ

18
จะตรวจจับประเภทอินพุต = ไฟล์“ เปลี่ยนแปลง” สำหรับไฟล์เดียวกันได้อย่างไร?
ฉันต้องการเริ่มต้นเหตุการณ์เมื่อผู้ใช้เลือกไฟล์ การดำเนินการดัง.changeกล่าวจะได้ผลหากผู้ใช้เปลี่ยนไฟล์ทุกครั้ง แต่ฉันต้องการเริ่มต้นเหตุการณ์หากผู้ใช้เลือกไฟล์เดิมอีกครั้ง ผู้ใช้เลือกไฟล์A.jpg(เหตุการณ์ไฟไหม้) ผู้ใช้เลือกไฟล์B.jpg(เหตุการณ์ไฟไหม้) ผู้ใช้เลือกไฟล์B.jpg(เหตุการณ์ไม่เริ่มทำงานฉันต้องการให้มันเริ่มทำงาน) ฉันจะทำมันได้อย่างไร?

8
จะนำ“ โหมดเบราว์เซอร์” กลับมาใน IE11 ได้อย่างไร?
อัปเดต : คำถามเก่าใช้กับการดูตัวอย่าง IE11 เท่านั้น โหมดเบราว์เซอร์กลับมาใน IE11 รุ่นสุดท้าย แต่มีสิ่งที่จับได้: มันไม่มีประโยชน์เพราะมันไม่ได้เลียนแบบความคิดเห็นที่มีเงื่อนไข ตัวอย่างเช่นหากคุณใช้เพื่อเปิดใช้งานการสนับสนุน HTML5 ใน IE แบบเดิมคุณจะไม่สามารถดีบักไซต์ของคุณใน IE11 ได้อีกต่อไป <!--[if lte IE 8]> <script src="html5shiv.js"></script> <![endif]--> อ่านอีกคำถาม StackOverflowและ IE ปัญหาข้อผิดพลาดติดตาม Microsoft ไม่เคยตอบสนองต่อสิ่งนี้ดังนั้นจึงดูเหมือนว่าพวกเขานำเสนอข้อบกพร่องนี้โดยมีจุดประสงค์เพื่อคัดท้ายผู้คนให้ซื้อการสมัครสมาชิก BrowserStack การจำลองความคิดเห็นแบบมีเงื่อนไขทำงานได้ดีในรุ่นตัวอย่าง คำถามเดิม : เมื่อติดตั้งตัวอย่าง IE11 บน Windows 7 จะมาพร้อมกับเครื่องมือ F12 ที่ล้าสมัยซึ่งอนุญาตให้เปลี่ยนโหมดเบราว์เซอร์ อย่างไรก็ตามหากคุณไปที่เมนู "เครื่องมือ" และเลือกเครื่องมือสำหรับนักพัฒนา "F12" เครื่องมือนั้นจะถูกแทนที่ด้วยเครื่องมือสำหรับนักพัฒนาแบบใหม่และ "โหมดเบราว์เซอร์" จะไม่สามารถใช้งานได้อีกต่อไป วิธีเดียวที่จะนำกลับมาได้คือถอนการติดตั้ง …

5
การตั้งค่าความกว้างและความสูงบนแท็ก A
เป็นไปได้ไหมที่จะตั้งค่าความกว้างและความสูงเป็นพิกเซลบนแท็กจุดยึด ฉันต้องการให้แท็กจุดยึดมีภาพพื้นหลังในขณะที่เก็บข้อความไว้ในจุดยึด li { width: 32px; height: 32px; background-color: orange; } li a { width: 32px; height: 32px; background-color: red; } <li><a href="#">Something</a></li> เรียกใช้ข้อมูลโค้ดซ่อนผลลัพธ์ขยายข้อมูลโค้ด
131 html  css  cross-browser 

4
จะเพิ่ม / อัปเดตแอตทริบิวต์ให้กับองค์ประกอบ HTML โดยใช้ JavaScript ได้อย่างไร
ฉันกำลังพยายามหาวิธีที่จะเพิ่ม / อัปเดตแอตทริบิวต์โดยใช้ JavaScript ฉันรู้ว่าฉันสามารถทำได้ด้วยsetAttribute()ฟังก์ชัน แต่ใช้ไม่ได้ใน IE

5
Flexbox และ Internet Explorer 11 (display: flex in <html>?)
ฉันวางแผนที่จะย้ายออกจากรูปแบบ "floaty" และใช้ CSS flexbox สำหรับโครงการในอนาคต ฉันรู้สึกยินดีที่เห็นว่าเบราว์เซอร์หลัก ๆ ทั้งหมดในเวอร์ชันปัจจุบันดูเหมือนจะรองรับ flexbox (ไม่ทางใดก็ทางหนึ่ง) ฉันไปที่"แก้ไขโดย Flexbox"เพื่อดูตัวอย่างบางส่วน อย่างไรก็ตาม "Sticky ท้าย" ตัวอย่างที่ดูเหมือนจะไม่ทำงานใน Internet Explorer 11 ที่ผมเล่นรอบ bit และได้ไปทำงานโดยการเพิ่มdisplay:flexไป&lt;html&gt;และwidth:100%ไป&lt;body&gt; คำถามแรกของฉันคือใครช่วยอธิบายตรรกะนั้นให้ฉันฟังได้ไหม ฉันแค่เล่นตัวไปมาและมันได้ผล แต่ฉันไม่ค่อยเข้าใจว่าทำไมมันถึงได้ผลแบบนั้น ... จากนั้นจะมีตัวอย่าง "Media Object" ที่ใช้งานได้ในทุกเบราว์เซอร์ยกเว้น - คุณเดาได้ - Internet Explorer ฉันเล่นกับมันเหมือนกัน แต่ไม่ประสบความสำเร็จใด ๆ คำถามที่สองของฉันคือ: มีความเป็นไปได้ที่ "สะอาด" ที่จะทำให้ตัวอย่าง "Media Object" ทำงานใน Internet Explorer ได้หรือไม่

4
แก้ไขได้โดยตั้งค่าคาเร็ตที่ส่วนท้ายของข้อความ (ข้ามเบราว์เซอร์)
เอาต์พุตในChrome : &lt;div id="content" contenteditable="true" style="border:1px solid #000;width:500px;height:40px;"&gt; hey &lt;div&gt;what's up?&lt;/div&gt; &lt;div&gt; &lt;button id="insert_caret"&gt;&lt;/button&gt; ฉันเชื่อในFFมันจะมีลักษณะดังนี้: hey &lt;br /&gt; what's up? และในIE : hey &lt;p&gt;what's up?&lt;/p&gt; น่าเสียดายที่ไม่มีวิธีที่ดีในการสร้างมันขึ้นมาเพื่อให้ทุกเบราว์เซอร์แทรก&lt;br /&gt;แท็กแทน div หรือ p หรืออย่างน้อยฉันก็ไม่พบสิ่งใดทางออนไลน์ อย่างไรก็ตามสิ่งที่ฉันพยายามทำในตอนนี้คือเมื่อฉันกดปุ่มฉันต้องการให้ตั้งเครื่องหมายคาเร็ตไว้ที่ท้ายข้อความดังนั้นควรมีลักษณะดังนี้: hey what's up?| วิธีการทำเช่นนี้จึงทำงานในเบราว์เซอร์ทั้งหมด ? ตัวอย่าง: $(document).ready(function() { $('#insert_caret').click(function() { var ele = $('#content'); var length = ele.html().length; …

11
ฉันสามารถเรียกใช้ Google Chrome หลายเวอร์ชันบนเครื่องเดียวกันได้หรือไม่ (Mac หรือ Windows)
คำตอบที่ยอดเยี่ยมนี้แสดงให้เห็นว่าไม่มีวิธีใดในการเรียกใช้ Google Chrome หลายเวอร์ชันในเครื่องเดียว ทุก ๆ ครั้งคุณจะพบว่าผู้ใช้เว็บไซต์ติดอยู่กับ Chrome เวอร์ชันเก่า (ไม่รู้ว่าจะเกิดขึ้นได้อย่างไร - บางทีพวกเขาอาจติดตั้งเวอร์ชันสแตนด์อโลน ?) ที่มีปัญหาและคุณต้องสามารถตรวจสอบได้ ค่อนข้างยากที่จะทำเช่นนั้นโดยไม่มีเวอร์ชันเบราว์เซอร์ มีใครรู้บ้างว่ามีวิธีทำจริงไหม? ได้แก่ รับตัวติดตั้งสำหรับ Google Chrome เวอร์ชันเก่า (ดูเหมือนว่า Google จะเงียบมากเกี่ยวกับเวอร์ชันซึ่งเหมาะสำหรับผู้ใช้ แต่ไม่ค่อยดีสำหรับนักพัฒนาที่พยายามสนับสนุนเวอร์ชันเก่า) เรียกใช้ Google Chrome สองเวอร์ชันในเครื่องเดียว

2
ใช้ความกว้างเริ่มต้นสำหรับองค์ประกอบที่ไม่ทำงานใน IE
ฉันมีปลั๊กอินกราฟที่แทรกผืนผ้าใบและคำอธิบายแผนภูมิ&lt;table&gt;ลงในคอนเทนเนอร์ ในปลั๊กอินtableนี้ไม่มีwidthกำหนดไว้และใน CSS ของฉันมีความกว้างสำหรับตารางภายในคอนเทนเนอร์ที่ปลั๊กอินของฉันถูกแทรก ดังนั้น div ใหม่จึงสืบทอดtable{ width: 100%}มาจาก CSS และแสดงผลผิด ฉันพยายามใช้width: initial;ดูดีบน Chrome แต่IE ไม่ชอบให้ ตรวจสอบความเข้ากันได้ของเบราว์เซอร์ ฉันยอมรับการเปลี่ยน / บังคับใช้ CSS แบบอินไลน์ในสคริปต์ / ปลั๊กอินเนื่องจากต้องใช้งานได้ในทุกสภาพแวดล้อม ทางออกที่ดีที่สุดคืออะไร?

2
รองรับเบราว์เซอร์สำหรับ URL ที่ขึ้นต้นด้วยเครื่องหมายทับคู่
เมื่อเร็ว ๆ นี้ฉันเห็นลิงก์สองสามรายการที่ใช้โดยไม่มีโปรโตคอล ดูเหมือนจะไม่ยากเกินกว่าที่จะเข้าใจ - ฉันคิดว่ามันเป็นความคิดที่ดีและใช้งานง่าย สำหรับผู้ที่คุณไม่ทราบการใช้ URL like //example.com/script.jsจะชี้ไปที่http://example.com/script.jsหรือhttps://example.com/script.jsขึ้นอยู่กับว่า URL นั้นมาจากhttpหรือhttps URL หรือไม่ ตัวอย่างเช่นการรวมสคริปต์ http หรือรูปภาพจากเพจ https อาจเป็นปัญหาด้านความปลอดภัยดังนั้นวิธีนี้จะช่วยแก้ปัญหานี้ได้โดยไม่จำเป็นต้องตรวจหาโปรโตคอลในโค้ดของคุณ คำถามของฉันคือมีการรองรับเบราว์เซอร์ / ระบบปฏิบัติการประเภทใด ปลอดภัยที่จะใช้ในการผลิตหรือไม่? แน่นอนมันจะทำให้สิ่งต่างๆง่ายขึ้น ตัวอย่างง่ายๆและการทดสอบ: http://codetester.org/916c6916 แก้ไข: เพียงแค่ติดตามว่าฉันใช้สิ่งนี้กับเซิร์ฟเวอร์โฆษณาของ บริษัท ของฉันในการผลิตหลายอย่างโดยไม่มีปัญหามาสองปีแล้ว

8
จะรับความกว้างของหน้าจอโดยไม่มีแถบเลื่อน (ลบ) ได้อย่างไร?
ฉันมีองค์ประกอบและต้องการความกว้างโดยไม่มีแถบเลื่อนแนวตั้ง (!) Firebug บอกความกว้างของร่างกายคือ 1280px สิ่งเหล่านี้ทำงานได้ดีใน Firefox: console.log($('.element').outerWidth() ); console.log($('.element').outerWidth(true) ); $detour = $('.child-of-element').offsetParent(); console.log( $detour.innerWidth() ); ทั้งหมดส่งคืน1263pxซึ่งเป็นค่าที่ฉันกำลังมองหา อย่างไรก็ตามเบราว์เซอร์อื่น ๆ ทั้งหมดให้ฉัน1280px มีวิธีการข้ามเบราว์เซอร์เพื่อรับความกว้างเต็มหน้าจอโดยไม่มีแถบเลื่อนแนวตั้ง (!) หรือไม่?

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