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 พร็อพเพอร์ตี้และค่า CSS ของ Houdini คุณจะกําหนดประเภทและค่าเริ่มต้นสําหรับพร็อพเพอร์ตี้ที่กําหนดเองได้ ก่อนหน้านี้เราได้พูดถึงเรื่องนี้ในหัวข้อมีอะไรใหม่ใน Chrome 78 เมื่อเราเพิ่มการรองรับการกำหนดค่าใน JavaScript
ตั้งแต่ Chrome 85 เป็นต้นไป คุณจะกําหนดและตั้งค่าพร็อพเพอร์ตี้ CSS ใน CSS ได้โดยตรง สิ่งที่ฉันชอบเกี่ยวกับพร็อพเพอร์ตี้ CSS คือพร็อพเพอร์ตี้ดังกล่าวทำให้พร็อพเพอร์ตี้มีความหมายเชิงความหมาย ค่าสำรอง และเปิดใช้การทดสอบ CSS ได้ด้วย
@property --colorPrimary {
syntax: '<color>';
initial-value: magenta;
inherits: false;
}
Una มีโพสต์ที่ยอดเยี่ยมซึ่งอธิบายวิธีใช้ตัวแปร CSS @property
: มอบพลังพิเศษให้ตัวแปร CSS
รับแอปที่เกี่ยวข้องที่ติดตั้งไว้
getInstalledRelatedApps()
API ช่วยให้คุณตรวจสอบได้ว่ามีการติดตั้งแอปของคุณหรือไม่ จากนั้นจึงปรับแต่งประสบการณ์ของผู้ใช้
เช่น แสดงเนื้อหาที่ต่างกันต่อผู้ใช้ในหน้า Landing Page หากติดตั้งแอปของคุณแล้ว รวมฟังก์ชันการทำงานที่ทับซ้อนกันไว้ในแอปเดียวเพื่อไม่ให้เกิดความสับสน หรือหากติดตั้งแอปเนทีฟไว้แล้ว ก็อย่าโปรโมตการติดตั้ง PWA
เมื่อเปิดตัวครั้งแรกใน Chrome 80 ฟีเจอร์นี้ใช้ได้กับแอป Android เท่านั้น ตอนนี้ใน Android ฟีเจอร์ดังกล่าวยังตรวจสอบได้ด้วยว่ามีการติดตั้ง PWA หรือไม่ และใน Windows จะสามารถตรวจสอบได้ว่าคุณได้ติดตั้งแอป UWP ของ Windows ไว้หรือไม่
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,
});
เช่น ใช้เพื่ออุ่นเครื่องเซิร์ฟเวอร์ หรือสตรีมเสียงหรือวิดีโอขณะที่บันทึกจากไมโครโฟนหรือกล้อง
Jake มีบทความเชิงลึกเกี่ยวกับการส่งคำขอสตรีมมิงด้วย fetch API ใน web.dev และยังมีวิดีโอHTTP203 - การส่งคำขอสตรีมมิงด้วย fetch เวอร์ชันล่าสุดด้วย
และอื่นๆ
แน่นอนว่ายังมีอีกมากมาย
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 ล่าสุดแสดงให้เห็นว่าการบีบอัด AVIF ประหยัดพื้นที่ได้ 50% เมื่อเทียบกับ JPEG มาตรฐาน และประหยัดพื้นที่ได้มากกว่า 60% สำหรับเนื้อหา 4:4:4
อ่านเพิ่มเติม
ข้อมูลนี้เป็นเพียงไฮไลต์สำคัญบางส่วนเท่านั้น ดูการเปลี่ยนแปลงเพิ่มเติมใน Chrome 85 ได้ที่ลิงก์ด้านล่าง
- มีอะไรใหม่ใน Chrome DevTools (85)
- การเลิกใช้งานและการนำออกใน Chrome 85
- การอัปเดต ChromeStatus.com สำหรับ Chrome 85
- มีอะไรใหม่ใน JavaScript ใน Chrome 85
- รายการการเปลี่ยนแปลงที่เก็บข้อมูลซอร์สโค้ด Chromium
สมัครใช้บริการ
หากต้องการติดตามวิดีโอล่าสุดของเรา โปรดติดตามช่อง YouTube ของนักพัฒนาซอฟต์แวร์ Chrome แล้วคุณจะได้รับอีเมลแจ้งเตือนทุกครั้งที่เราเปิดตัววิดีโอใหม่
ผมชื่อ Pete LePage และในที่สุดก็ได้ตัดผมแล้ว
ทันทีที่ Chrome 86 เปิดตัว เราจะมาบอกคุณถึงสิ่งใหม่ๆ ใน Chrome