HTML5: HTML5 คืออะไรคือ HTML รุ่นต่อไปซึ่งจะกลายเป็นมาตรฐานใหม่สำหรับ HTML, XHTML และ HTML DOM วันนี้เรามาพูดถึงคำถามที่ฉันจะถูกถามทุกครั้งที่การสัมภาษณ์หน้าคือซึ่งเป็นคุณสมบัติใหม่ของ HTML5 นี่คือความรู้พื้นฐานที่ต้องเชี่ยวชาญในตอนท้ายของการเรียนรู้
องค์ประกอบใหม่HTML5 เพิ่มองค์ประกอบฉลากความหมายที่ดีกว่า
องค์ประกอบโครงสร้างองค์ประกอบการแสดงออกอย่างหมดจดจะถูกยกเลิกใน HTML5 เท่านั้น
องค์ประกอบการแสดงออกที่บริสุทธิ์องค์ประกอบของการแสดงออกที่บริสุทธิ์คือองค์ประกอบที่สามารถแทนที่ด้วย CSS Basefont, Big, Center, Font, S, Strike, TT, U, ฟังก์ชั่นของพวกเขาถูกแสดงอย่างหมดจดสำหรับการแสดงผลหน้าเว็บ
องค์ประกอบที่มีผลกระทบเชิงลบต่อความพร้อมใช้งานสำหรับองค์ประกอบเฟรมชุดองค์ประกอบเฟรมและองค์ประกอบของ Noframes เนื่องจากเฟรมเฟรมเฟรมมีผลกระทบเชิงลบต่อความพร้อมใช้งานของเว็บเฟรมเฟรมไม่ได้รับการสนับสนุนใน HTML5 อีกต่อไปและรองรับเฟรมเวิร์ก IFRAME เท่านั้น
เบราว์เซอร์เท่านั้นที่รองรับองค์ประกอบสำหรับแอปเพล็ต, BGSOUND, Blink, Marquee และองค์ประกอบอื่น ๆ เพราะมีเพียงเบราว์เซอร์บางตัวที่รองรับโดยเฉพาะอย่างยิ่งองค์ประกอบ BGSOUND และองค์ประกอบของกระโจมเท่านั้นที่ได้รับการสนับสนุนจาก IE เท่านั้นพวกเขาจะถูกยกเลิกใน HTML5 องค์ประกอบของแอปเพล็ตสามารถถูกแทนที่ด้วยองค์ประกอบที่ฝังอยู่หรือองค์ประกอบวัตถุองค์ประกอบ BGSOUND สามารถถูกแทนที่ด้วยองค์ประกอบเสียงและสามารถแทนที่มาจากการเขียนโปรแกรม JavaScript
API ใหม่ Canvas APIองค์ประกอบผ้าใบที่กล่าวถึงข้างต้นสามารถให้ผืนผ้าใบสำหรับหน้าเพื่อแสดงกราฟิก เมื่อรวมกับ Canvas API คุณสามารถสร้างและแสดงกราฟิกแผนภูมิภาพและภาพเคลื่อนไหวบนผืนผ้าใบนี้ได้ ผ้าใบเป็นกราฟิกเป็นหลัก ไม่จำเป็นต้องใช้แต่ละแผนภูมิเป็นที่เก็บวัตถุและประสิทธิภาพการทำงานดีมาก
ใช้ Canvas API เพื่อวาดบริบทขององค์ประกอบ Canvas ก่อนจากนั้นใช้ฟังก์ชั่นการวาดภาพต่าง ๆ ที่ห่อหุ้มในบริบทที่จะวาด
<canvas id = canvas> เนื้อหาทางเลือก < /canvas> <script> var canvas = document.getElementById ('Canvas'); / การฝึกฝนแสดงให้เห็นว่าบริบทของแบล็กเป็นสีดำเติมเต็ม (0, 0, 100, 100, 100); SVGSVG เป็นฟังก์ชั่นกราฟิกอื่นของ HTML5 HTML5 แนะนำ SVG Union ภายในเพื่อให้องค์ประกอบ SVG สามารถปรากฏโดยตรงในเครื่องหมาย HTML
<svg height = 100 width = 100> <circle cx = 50 cy = 50 r = 50 /svg>เสียงและวิดีโอ
การเกิดขึ้นขององค์ประกอบเสียงและวิดีโอทำให้แอพพลิเคชั่น HTML5 Media มีตัวเลือกใหม่ ๆ มากขึ้น สำหรับองค์ประกอบทั้งสองนี้ข้อกำหนด HTML5 ให้ API ทั่วไปที่สมบูรณ์และสคริปต์ -ควบคุม
ก่อนที่ข้อกำหนด HTML5 จะออกมาวิธีทั่วไปในการเล่นวิดีโอบนหน้าคือการใช้ Flash, QuickTime หรือ Windows Media Plug -in เพื่อฝังเสียงและวิดีโอใน HTML แท็ก
<video src = video.webm controls> <data object = videoplayer.swf type = application /x-shockwave-flash> <param name = video video.swf /> </jobch> เบราว์เซอร์ของคุณไม่รองรับวิดีโอ HTML5 </video>การตรวจจับการสนับสนุนเบราว์เซอร์
ไม่ว่าการตรวจจับเบราว์เซอร์จะรองรับองค์ประกอบเสียงหรือองค์ประกอบวิดีโอเป็นวิธีที่ง่ายที่สุดในการสร้างสคริปต์แบบไดนามิกแล้วตรวจพบว่ามีฟังก์ชั่นเฉพาะหรือไม่
var hasvideo = !! (document.createelement ('วิดีโอ'). GEOLICATION APIHTML5 GEOLOCATION API (API การวางตำแหน่งทางภูมิศาสตร์) สามารถขอให้ผู้ใช้แบ่งปันตำแหน่งของพวกเขา วิธีการใช้งานนั้นง่ายมาก . ข้อมูลสถานที่ประกอบด้วยละติจูดพิกัดลองจิจูดและข้อมูลเมตาอื่น ๆ
ข้อมูลตำแหน่งมาจากไหนGEOLOCATION API ไม่ได้ระบุเทคโนโลยีพื้นฐานที่จะใช้ผู้ใช้เพื่อค้นหาแอปพลิเคชันของแอปพลิเคชัน แต่จะใช้เพื่อดึงข้อมูล API ของข้อมูลตำแหน่งเท่านั้นและข้อมูลที่ดึงมาผ่าน API นั้นมีความแม่นยำในระดับหนึ่งเท่านั้นและไม่สามารถรับประกันได้ว่าตำแหน่งของการส่งคืนอุปกรณ์นั้นแม่นยำ อุปกรณ์สามารถใช้แหล่งข้อมูลต่อไปนี้:
พิกัดสามมิติ
GPS
ที่อยู่ MAC จาก RFID, WiFi และ Bluetooth ถึง WiFi
// อัปเดต Navigator.Geolocation.getCurrentPosition (updateLocation, handleLocationeror); // ความถูกต้อง var timestamp = position.coords.timestamp; สถานที่อัพเดท Navigator.geolocation.ClearWatch (watchId);API การสื่อสาร การส่งข้อความข้ามเอกสาร
สำหรับการพิจารณาความปลอดภัยการสื่อสารระหว่างเฟรมแท็บและหน้าต่างในเบราว์เซอร์เดียวกันได้ถูก จำกัด อย่างเคร่งครัด อย่างไรก็ตามในความเป็นจริงมีความต้องการที่สมเหตุสมผลสำหรับเนื้อหาของไซต์ต่าง ๆ เพื่อโต้ตอบในเบราว์เซอร์ ในกรณีนี้หากเบราว์เซอร์สามารถให้กลไกการสื่อสารโดยตรงแอปพลิเคชันเหล่านี้สามารถจัดระเบียบได้ดีขึ้น
มีการแนะนำคุณสมบัติใหม่ใน HTML5, การสื่อสารข้อความ Cross -document ซึ่งสามารถมั่นใจได้ว่า iframe, หน้าแท็บและหน้าต่างจะดำเนินการอย่างปลอดภัย Postmessage API เป็นวิธีการส่งข้อความมาตรฐาน
Window.postMessage ('Hello, World', 'http://www.example.com/');เมื่อได้รับข้อความคุณจะต้องเพิ่มฟังก์ชั่นการประมวลผลเหตุการณ์ในหน้าเท่านั้น เมื่อข้อความมาถึงแหล่งที่มาของข้อความจะถูกกำหนดให้ตัดสินใจว่าจะจัดการกับข้อความหรือไม่
window.addeventListener (ข้อความ, messagehandler, true); t รับรู้ // ข้อความถูกละเว้น}}
เหตุการณ์ข้อความเป็นเหตุการณ์ DOM ที่มีข้อมูล (ข้อมูล) และแอตทริบิวต์แหล่งกำเนิด แอตทริบิวต์ข้อมูลคือข้อความจริงที่ส่งโดยผู้ส่งและแอตทริบิวต์ Origin เป็นแหล่งที่มาของการส่ง
XMLHTTPREQUEST Level2XMLHTTPREQUEST API ทำให้เทคโนโลยี AJAX เป็นไปได้ มีสองด้านหลัก:
ในอดีต XMLHTTPREQUEST ถูก จำกัด อยู่ที่การสื่อสารที่คล้ายคลึงกันและ XMLHTTTPREQUEST Level2 ได้ตระหนักถึง XMLHTTTPREQUEST ข้ามชาติผ่าน CORS การร้องขอ Cross -Source HTTP มีหัว Origin ซึ่งให้ข้อมูลเซิร์ฟเวอร์พร้อมข้อมูลแหล่งที่มาของคำขอ HTTP
WebSockets APIWebSockets เป็นฟังก์ชั่นการสื่อสารที่ทรงพลังที่สุดใน HTML5
WebSockets Handshakeเพื่อสร้างการสื่อสาร WebSockets ไคลเอนต์และเซิร์ฟเวอร์จะอัพเกรดโปรโตคอล HTTP เป็นโปรโตคอล WebSocket เมื่อจับมือกัน เมื่อสร้างการเชื่อมต่อเรียบร้อยแล้วเราสามารถส่งข้อความ WebSocket ไปมาระหว่างไคลเอนต์และเซิร์ฟเวอร์ภายใต้โหมดการทำงานแบบคู่เต็ม
อินเทอร์เฟซ WebSocketsนอกเหนือจากคำจำกัดความของโปรโตคอล WebSockets แล้วข้อมูลจำเพาะยังกำหนดอินเตอร์เฟส WebSocket สำหรับแอปพลิเคชัน JavaScript การใช้อินเทอร์เฟซ WebSockets นั้นง่ายมาก ในการเชื่อมต่อโฮสต์ระยะไกลคุณจะต้องสร้างอินสแตนซ์ WebSocket ใหม่เพื่อให้ URL คู่ที่หวังว่าจะเชื่อมต่อ
แบบฟอร์ม API องค์ประกอบรูปแบบใหม่เมื่อผู้ใช้ไม่มีค่าอินพุตตัวควบคุมอินพุตสามารถแสดงคำอธิบายเชิงพรรณนาหรือข้อมูลพรอมต์ให้กับผู้ใช้ผ่านคุณลักษณะของตัวยึดตำแหน่ง
<ชื่ออินพุต = ชื่อ placeholder = ชื่อแรกและนามสกุล>การกรองอัตโนมัติ
เบราว์เซอร์สามารถรู้ได้ว่าควรเก็บค่าอินพุตผ่านการเติมข้อความอัตโนมัติหรือไม่
ออโต้โฟกัสผ่านลักษณะการโฟกัสอัตโนมัติคุณสามารถระบุองค์ประกอบตารางเพื่อรับโฟกัสอินพุต
ตรวจการสะกดคำการควบคุมอินพุตด้วยเนื้อหาข้อความและคุณสมบัติการควบคุมเชิงพื้นที่ Textarea SpecialCheck หลังจากตั้งค่าคุณจะถามเบราว์เซอร์ว่าคุณควรให้ข้อเสนอแนะจากผลลัพธ์ของการตรวจสอบการสะกดคำหรือไม่ แอตทริบิวต์การสะกดจะต้องได้รับมอบหมาย
รายการคุณสมบัติและองค์ประกอบข้อมูลเมื่อรวมกับคุณสมบัติของรายการและองค์ประกอบ Datalist นักพัฒนาสามารถสร้างรายการการเลือกค่าสำหรับการควบคุมประเภทอินพุต
<datalist id = contactlist> <value [email protected]> </opovie> <ตัวเลือกค่า [email protected]> </optural> </tatalist> <อินพุตประเภท = อีเมล = ติดต่อ = รายชื่อผู้ติดต่อ>ขั้นต่ำและสูงสุด
ด้วยการตั้งค่าคุณสมบัติ MIN และ MAX ช่วงอินพุตค่าของกล่องอินพุตช่วงสามารถ จำกัด ได้ระหว่างค่าต่ำสุดและค่าสูงสุด คุณสามารถตั้งค่าได้เพียงหนึ่งหรือสองหรือสองหรือคุณไม่สามารถตั้งค่าได้
ก้าวล้ำหน้าสำหรับการควบคุมประเภทอินพุตการตั้งค่าคุณสมบัติขั้นตอนสามารถระบุความละเอียดของการเพิ่มขึ้นหรือลดค่าอินพุต
ที่จำเป็นเมื่อมีการตั้งค่าคุณสมบัติที่ต้องการสำหรับการควบคุมประเภทอินพุตแล้วรายการนี้จะต้องกรอกข้อมูลไม่เช่นนั้นจะไม่สามารถส่งแบบฟอร์มได้
ลากและวาง API แอตทริบิวต์หากองค์ประกอบ draggable ขององค์ประกอบเว็บเป็นจริงองค์ประกอบนี้สามารถลากได้
<div draggable = tring> draggable div </div>ลากและวาง
กระบวนการลากจะก่อให้เกิดเหตุการณ์มากมายส่วนใหญ่ในสิ่งต่อไปนี้:
DraggableElement.addeVentListener ('DragStart', ฟังก์ชั่น (e) {console.log ('Drag Start!');}); วัตถุ DataTransferในระหว่างการลากพารามิเตอร์เหตุการณ์ที่ได้รับการยอมรับจากฟังก์ชั่นการโทรกลับมีแอตทริบิวต์ dataTransfer ชี้ไปที่วัตถุรวมถึงข้อมูลต่าง ๆ ที่เกี่ยวข้องกับการลาก
DraggableElement.addeVentListener ('DragStart', ฟังก์ชั่น (เหตุการณ์) {event.datatransfer.setData ('ข้อความ', 'Hello World!');}); แอตทริบิวต์ของวัตถุ DataTransfer คือ:JavaScript เป็นเธรดเดียว ดังนั้นการคำนวณระยะเวลานานย้อนกลับไปบล็อกเธรด UI ซึ่งทำให้ข้อความเติมข้อความในกล่องข้อความคลิกปุ่ม ฯลฯ และในเบราว์เซอร์ส่วนใหญ่เว้นแต่ว่าการควบคุมจะถูกส่งคืน หน้าแท็บใหม่ วิธีการแก้ปัญหานี้คือ Web Worker ซึ่งช่วยให้เว็บแอปพลิเคชันมีความสามารถในการประมวลผลพื้นหลังและการสนับสนุนสำหรับหลายเธรดนั้นดีมาก
อย่างไรก็ตามสคริปต์ที่ดำเนินการในผู้ทำงานบนเว็บไม่สามารถเข้าถึงวัตถุหน้าต่างในหน้าได้นั่นคือผู้ทำงานบนเว็บไม่สามารถเข้าถึงเว็บเพจและ DOM API ได้โดยตรง แม้ว่าพนักงานเว็บจะไม่ทำให้เบราว์เซอร์ UI หยุดการตอบสนอง แต่ก็ยังคงใช้วัฏจักร CPU ส่งผลให้ความเร็วในการตอบสนองช้าลง
API ที่เก็บข้อมูลเว็บWeb Storage เป็นคุณสมบัติที่สำคัญมากที่แนะนำโดย HTML5
SessionStorageSessionStorage บันทึกข้อมูลในเซสชันและเบราว์เซอร์จะปิดข้อมูลให้หายไป
การจัดเก็บพื้นที่ท้องถิ่นLocalStorage ได้บันทึกข้อมูลบนลูกค้าไว้เสมอเว้นแต่จะถูกลบด้วยตนเองมันจะถูกเก็บไว้
ไม่ว่าจะเป็น SessionStorage หรือ LocalStorage, API ที่สามารถใช้งานได้ก็เหมือนกัน
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้