Chrome 85 กำลังเริ่มเปิดตัวเป็นเวอร์ชันเสถียรแล้วตอนนี้
สิ่งที่จำเป็นต้องทราบมีดังนี้
- คุณปรับปรุงประสิทธิภาพการแสดงผลได้ด้วย
content-visibility: auto
- ตอนนี้คุณสามารถตั้งค่าพร็อพเพอร์ตี้ CSS... ใน CSS
- ตอนนี้คุณจึงจะตรวจสอบได้ว่าแอป Windows หรือ PWA ติดตั้งด้วย
getInstalledRelatedApps()
อยู่หรือไม่ - ทางลัดไอคอนแอปใช้งานได้ใน Windows ด้วย (สำหรับจริงแล้ว)
- ช่วงทดลองใช้จากต้นทางสำหรับการสตรีมการอัปโหลด
fetch
ได้เริ่มขึ้นแล้ว - และอื่นๆ
ฉันชื่อ Pete LePage ทำงานและถ่ายรูปจากที่บ้าน มาเจาะลึกและดูว่ามีอะไรใหม่สำหรับนักพัฒนาซอฟต์แวร์ใน Chrome 85!
ระดับการเข้าถึงเนื้อหา
การเปลี่ยน HTML ให้เป็นสิ่งที่ผู้ใช้มองเห็นได้นั้น ทำให้เบราว์เซอร์ต้องผ่านขั้นตอนต่างๆ หลายขั้นตอนก่อนที่จะสามารถระบายสีพิกเซลแรกได้ และจะมีผลกับทั้งหน้า รวมถึงเนื้อหาที่ไม่ปรากฏในวิวพอร์ตด้วย
การนำ content-visibility: auto
ไปใช้กับองค์ประกอบหนึ่งๆ จะเป็นการบอกเบราว์เซอร์ว่าเบราว์เซอร์ข้ามการแสดงผลสำหรับองค์ประกอบนั้นได้จนกว่าองค์ประกอบดังกล่าวจะเลื่อนเข้ามาในวิวพอร์ต ซึ่งทำให้การแสดงผลเริ่มต้นที่เร็วขึ้น
.my-class {
content-visibility: auto;
}
หากต้องการใช้ content-visibility
ให้เกิดประโยชน์สูงสุด ให้นำไปใช้กับส่วนระดับบนสุดที่มีอัลกอริทึมเลย์เอาต์ที่ซับซ้อนมากขึ้น เช่น flexbox
และ grid
หรือที่มีรายการย่อยที่มีเลย์เอาต์ของตัวเอง
การแบ่งเนื้อหาเป็นส่วนๆ และเพิ่ม content-visibility: auto;
ทำให้หน้านี้เปลี่ยนจากเวลาการแสดงผล 232 มิลลิวินาทีไปเป็นเพียง 30 มิลลิวินาที
ลองดูระดับการเข้าถึงเนื้อหาเพื่อดูวิธีใช้การปรับปรุงประสิทธิภาพการแสดงผล
@property
และตัวแปร CSS
ตัวแปร CSS ที่ทางเทคนิคเรียกว่าคุณสมบัติที่กำหนดเองนั้นยอดเยี่ยม เมื่อใช้ คุณสมบัติและ API ของ Houdini CSS คุณจะกำหนดประเภทและค่าสำรองเริ่มต้นสำหรับพร็อพเพอร์ตี้ที่กำหนดเองได้ ก่อนหน้านี้เราพูดถึงขั้นตอนเหล่านี้ใน ใหม่ใน Chrome 78 เมื่อเราเพิ่มการรองรับการระบุค่าเหล่านี้ใน JavaScript
ตั้งแต่ Chrome 85 เป็นต้นไป คุณจะกำหนดและตั้งค่าพร็อพเพอร์ตี้ CSS ใน CSS โดยตรงได้ด้วย ฉันชอบคุณสมบัติ CSS คือให้ความหมายตามความหมายที่แท้จริงของพร็อพเพอร์ตี้ ค่าสำรอง หรือแม้แต่เปิดใช้การทดสอบ CSS
@property --colorPrimary {
syntax: '<color>';
initial-value: magenta;
inherits: false;
}
Una มีโพสต์ที่ยอดเยี่ยม
@property
: มอบพลังพิเศษแก่ตัวแปร CSS
ซึ่งแสดงให้เห็นว่าคุณจะใช้ตัวแปรเหล่านั้นได้อย่างไร
ติดตั้งแอปที่เกี่ยวข้อง
getInstalledRelatedApps()
API ช่วยให้คุณตรวจสอบได้ว่า
แอปติดตั้งอยู่หรือไม่ จากนั้นปรับแต่งประสบการณ์ของผู้ใช้
เช่น แสดงเนื้อหาที่แตกต่างกันให้แก่ผู้ใช้ในหน้า Landing Page หากติดตั้งแอปแล้ว รวมฟังก์ชันการทำงานที่ทับซ้อนกันไว้ในแอปเดียวเพื่อป้องกันความสับสน หรือหากติดตั้งแอปที่มาพร้อมเครื่องแล้ว อย่าโปรโมตการติดตั้ง PWA
เมื่อจัดส่งใน Chrome 80 เป็นครั้งแรก จะใช้ได้กับแอป Android เท่านั้น สำหรับบน Android ก็จะสามารถตรวจสอบได้ด้วย ว่าติดตั้ง PWA แล้วหรือยัง และใน Windows ก็จะตรวจสอบได้ว่าติดตั้งแอป Windows UWP แล้วหรือยัง
const relatedApps = await navigator.getInstalledRelatedApps();
relatedApps.forEach((app) => {
console.log(app.id, app.platform, app.url);
});
อ่านบทความ
คุณติดตั้งแอปของคุณแล้วใช่ไหม getInstalledRelatedApps()
จะแจ้งให้คุณทราบ
บน web.dev เพื่อดูวิธีการทำงานและวิธีรับรองแอปเพื่อพิสูจน์ว่าเป็นของคุณ
ทางลัดของไอคอนแอป
ใน Chrome 84 เราได้เพิ่มการรองรับทางลัดไอคอนแอป ฉันบังเอิญบอกว่าพวกเขาใช้งานได้ทุกที่ แต่มีให้บริการบน Android เท่านั้น ตอนนี้ใน Chrome 85 จะใช้ได้บน Android และ Windows และทั้งใน Chrome และ Edge
"shortcuts": [
{
"name": "Open Play Later",
"short_name": "Play Later",
"description": "View the list you saved for later",
"url": "/play-later",
"icons": [
{ "src": "//play-later.png", "sizes": "192x192" }
]
}
]
ลองอ่านบทความทางลัดของไอคอนแอปใน web.dev เพื่อดูรายละเอียดทั้งหมด และขออภัยที่ทำให้คุณสับสน
ช่วงทดลองใช้จากต้นทาง: คำขอสตรีมกับ fetch()
ตั้งแต่ Chrome 85 เป็นต้นไป การสตรีมการอัปโหลดของ fetch
จะพร้อมให้ใช้งานเป็นช่วงทดลองใช้จากต้นทาง ซึ่งจะช่วยให้คุณเริ่มการดึงข้อมูลได้ก่อนที่เนื้อหาคำขอจะพร้อม ก่อนหน้านี้
คุณจะเริ่มส่งคำขอได้เมื่อพร้อมสำหรับร่างกายทั้งร่างกายแล้ว แต่ตอนนี้คุณเริ่มส่งเนื้อหาได้แล้ว แม้แต่ตอนที่ยังสร้างเนื้อหาอยู่
const { readable, writable } = new TransformStream();
const responsePromise = fetch(url, {
method: 'POST',
body: readable,
});
เช่น ใช้เพื่ออุ่นเครื่องเซิร์ฟเวอร์ หรือสตรีมเสียงหรือวิดีโอที่ถ่ายจากไมโครโฟนหรือกล้อง
เจตน์เจาะลึกเกี่ยวกับคำขอสตรีมมิงที่มี API การดึงข้อมูลใน web.dev และพูดถึงใน HTTP203 - คำขอสตรีมมิงด้วยการดึงข้อมูลล่าสุด
และอื่นๆ
แน่นอน ยังมีอีกมากมาย
Promise.any
จะแสดงคำสัญญาที่ทำตามโดยคำสัญญาแรกที่ให้ไว้ว่าจะทำให้สมบูรณ์หรือปฏิเสธ
try {
const first = await Promise.any(arrayOfPromises);
console.log(first);
} catch (error) {
console.log(error.errors);
}
การแทนที่อินสแตนซ์ทั้งหมดในสตริงจะง่ายยิ่งขึ้นด้วย .replaceAll()
และไม่ต้องใช้นิพจน์ทั่วไปอีกต่อไป
const myName = 'My name is Bond, James Bond.'
.replaceAll('Bond', 'Powers')
.replace('James', 'Austin');
console.log(myName);
// My name is Powers, Austin Powers.
Chrome 85 เพิ่มการรองรับการถอดรหัสสำหรับ AVIF ซึ่งเป็นรูปแบบรูปภาพที่เข้ารหัสด้วย AV1 และได้มาตรฐานโดย Alliance for Open Media AVIF มีอัตราการบีบอัดที่สำคัญเมื่อเทียบกับ JPEG และ WebP โดยการศึกษาของ Netflix เมื่อเร็วๆ นี้พบว่าประหยัดได้ 50% เมื่อเทียบกับ JPEG มาตรฐาน และประหยัดได้มากกว่า 60% สำหรับเนื้อหาขนาด 4:4:4
และการนำ AppCache ออกก็เริ่มขึ้นแล้ว
อ่านเพิ่มเติม
ส่วนนี้ครอบคลุมไฮไลต์สำคัญเพียงบางส่วนเท่านั้น ไปที่ลิงก์ด้านล่างสำหรับ การเปลี่ยนแปลงเพิ่มเติมใน Chrome 85
- มีอะไรใหม่ในเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome (85)
- การเลิกใช้งานและการนำ Chrome 85 ออก
- การอัปเดต ChromeStatus.com สำหรับ Chrome 85
- มีอะไรใหม่ใน JavaScript ใน Chrome 85
- รายการเปลี่ยนแปลงที่เก็บแหล่งที่มา Chromium
ติดตาม
หากต้องการติดตามวิดีโอล่าสุดของเรา โปรดติดตามช่อง YouTube สำหรับนักพัฒนาซอฟต์แวร์ Chrome และคุณจะได้รับการแจ้งเตือนทางอีเมลทุกครั้งที่เราเปิดตัววิดีโอใหม่
ฉันชื่อ Pete LePage และในที่สุดฉันก็ได้ตัดผม
ทันทีที่มีการเปิดตัว Chrome 86 เราจะแจ้งให้คุณทราบว่า มีอะไรใหม่ใน Chrome!