摘要:在中,針對屬性的一個子集實現了類型對象模型,這些屬于的一部分。返回一個對象,該對象指定每個受限制屬性的值或值范圍。例如,這會在導航請求期間發生。按照規范,已被刪除。
原文鏈接:Chrome 66 Beta: CSS Typed Object Model, Async Clipboard API, AudioWorklet
除非另有說明,否則下文所述的更改適用于 Android,Chrome OS,Linux,macOS 和 Windows 的最新 Chrome Beta 版本。在 ChromeStatus 上查看 Chrome 66 中完整的特性列表。
的 ImageBitmap 渲染上下文從歷史上看,將圖像渲染到畫布上首先要創建一個 標簽,然后將其內容呈現到畫布上。這會導致圖像的多個副本存儲在內存中。新的渲染上下文可以流線化 ImageBitmap 對象的顯示,因而可以避免內存重復,并且更高效。
這個例子展示了如何使用 ImageBitmapRenderingContext。例子主要演示了關于圖像像素的轉移。這個例子是把像素從 blob 轉移到 ,但像素也可以在 元素之間移動。請注意,blob 是壓縮的,因此它不是內存中的完整副本。
const image = await createImageBitmap(imageBlob); const canvas = document.createElement("canvas"); const context = canvas.getContext("bitmaprenderer"); context.transferFromImageBitmap(image); canvas.toBlob((outputJPEGBlob) => { // Do something with outputJPEGBlob. }, "image/jpeg");
如果不使用 createImageBitmap(),那么 imageBlob 的解碼會被延后(lazily decoded),這會導致問題。另一方面,createImageBitmap() 是異步的,它可以讓你在使用之前對它進行完整解碼。例如,在 WebGL 游戲運行過程種,可以使用它來隨時加載新的紋理。
CSS 類型對象模型從歷史上看,想要操縱 CSS 屬性的開發人員必須只能操縱字符串,然后再將其轉換為類型化表示。更糟的是,當開發人員試圖讀取 Javascrip 中 CSS 屬性的值時,這種類型的值被轉換為字符串。
在 Chrome 66 中,針對 CSS 屬性的一個子集實現了 CSS 類型對象模型(OM)Level 1,這些屬于 Houdini 的一部分。Type OM 通過將 CSS 值暴露為類型化的 JavaScript 對象而不是字符串來減輕開發人員和瀏覽器的負擔。除了允許對賦值給 CSS 屬性的值進行高效處理外,Typed OM 還允許開發人員編寫更易于維護且易于理解的代碼。
一個簡單的例子說明了這一點。以前,如果我想設置元素的不透明度,我可以這樣做:
el.style.opacity = 0.3; el.style.opacity === "0.3"
使用 CSSOM:
el.attributeStyleMap.set("opacity", CSS.number("0.3")); el.attributeStyleMap.get("opacity").value === 0.3
上面返回值的類型是 CSSUnitValue,比字符串更容易操作。
異步剪貼板 API(譯者(justjavac)注:Google 開發者中心有一篇文章介紹異步剪貼板 API Unblocking Clipboard Access,我也已經翻譯了中文版 Async Clipboard API:異步剪貼板 API)
AudioWorklet傳統 ScriptProcessorNode 是異步的,而且需要線程跳躍(譯者注:會在 UI 線程和用戶線程之間跳躍),這可能會產生不穩定的音頻輸出。AudioWorklet 對象提供了一個新的同步 JavaScript 執行上下文,它允許開發人員以編程方式控制音頻,而不會在輸出音頻中產生額外延遲,更加穩定高效。
您可以在 Google Chrome Labs 查看示例代碼以及其他示例代碼。
除了 AudioWorklet 之外,其他 worklet API 正在構建中。PaintWorklet 在 Chrome 65 / Opera 52 中已經發布。AnimationWorklet 計劃中。ScriptProcessorNode 會在 AudioWorklet 發布一段時間后會被棄用。
本發行版中的其他功能 Blink > AnimationThe add and accumulate compositing operations are intended for building modularized animations. The add and accumulate keywords will be supported in Chrome soon. Until then, they will no longer throw errors. This is to maintain compatibility with Firefox and other implementations.
Blink > CSSCSS 有 2 個新功能。
CSS Values and Units Module Level 4 支持了數學表達式 calc(), min(),max()。
rgb() 和 rgba() 函數中現在允許浮點值。
Blink > Feature Policy默認情況下,deviceorientation,deviceorientationabsolute,和 devicemotion 事件僅限于頂級文檔和相同來源的子框架,就如同 feature policy 對這些特性設置為 "self" 一樣。要修改此行為,請明確 enable or disable the specific feature。
Blink > File API嘗試從無效或不存在的 BLOB URL 讀取時 ,File API 會導致網絡錯誤,而不是 404。
Blink > FormsHTML 表單有 2 個新功能。
按照規范, 和 支持 autocomplete 屬性。
按照 HTML 規范的要求),一個可變的復選框現在觸發 3 個事件:click 事件,然后是 input 事件,然后是 change 事件。以前只有 click 和 change 事件被觸發。
Blink > Fullscreen如果全屏模式下的頁面打開彈出窗口并調用 window.focus(), 該頁面會退出全屏。如果彈出窗口以其他方式接收焦點,則不會發生這種情況。
Blink > GetUserMediaMediaStreamTrack 接口有一個新方法 getCapabilities()。
返回一個 MediaTrackCapabilities 對象,該對象指定每個受限制屬性的值或值范圍。該功能因設備而異。
Blink > JavaScript幾個 JavaScript 更改。
Function.prototype.toString() 函數現在返回源代碼中寫入的內容。這包括可能已經使用的空白和其他文本。例如,如果函數關鍵字和函數名稱之間存在注釋,則除了關鍵字和名稱之外,現在還返回注釋。
JSON 現在是 ECMAScript 的一個語法子集,它允許字符串文本中的行分隔符(U+2028)和段落分隔符(U+2029)符號。
try 語句的 catch 子句現在可以在沒有參數的情況下使用。
除了之前早已實現的 String.prototype.trim() 外,Chrome 66 實現了 String.prototype.trimStart() 和 String.prototype.trimLeft() 用來將字符串兩側的空白去除。而 trimLeft() 和 trimRight() 是為了保持為向后兼容性而提供的非標準的方法別名。
Array.prototype.values() 方法返回一個新的數組迭代器對象,該對象包含數組中每個索引的值。
Blink > Layout布局有 2 個新功能。
grid 前綴:
grid-gap 變 gap
grid-row-gap 變 row-gap
grid-column-gap 變 column-gap
所有三者的默認值是 normal,前綴屬性是新名稱的別名。請注意,column-gap 屬性已經存在并被 css-multicol 使用。
當元素的 display 屬性是 table-row,table-row-group, table-header-group,table-footer-group,table-cell,table-caption,并具有 transform 屬性時,此元素可以作為 fixed-position 元素的包含塊。Blink 目前不能把 媒體有 2 個新功能。 正如之前博客所介紹的那樣,autoplay 只有當媒體不會播放聲音時,用戶主動點擊后,或者(桌面版)如果用戶以前在該網站上表現出對媒體的興趣時才允許播放。這樣做會在第一次打開網頁時減少意外的視頻播放和聲音。 (譯者(justjavac)注:目前運行被自動播放的內容包括:內容被靜音、內容只包含視頻(無音頻)、用戶在瀏覽會話期間點擊網站上的某個地方、在移動設備上如果該網站已被用戶添加到主屏幕、如果用戶在桌面版瀏覽器上頻繁播放該媒體)
Media Capabilities, Decoding Info API 允許網站獲取有關客戶端的解碼能力的更多信息。這為用戶提供了更多關于媒體流的選擇權,可以使客戶端更加平滑高效地解碼,而非僅僅基于可用帶寬和屏幕大小分辨率進行解碼。 Fetch API 有 2 個新功能。
Request 對象現在支持 keepalive 屬性,該屬性允許在關閉標簽后繼續 fetch。通過在構造函數的初始化對象中傳遞布爾值來調用此功能。它的值可以從對象本身讀回。該屬性也可以和 sendBeacon() 一起使用。 新的 AbortSignal 和 AbortController 接口允許取消 fetch 操作。創建一個 AbortController 對象并將其 signal 屬性作為 option 傳遞給 fetch。調用 abortController.abort() 取消 fetch。 我們之前撰寫的 abortable fetch article 中有更多信息,下面是一個代碼示例。 (題外話:cancelable-promises 提案在進入 stage 1 的時候被取消掉了) ServiceWorker 有兩個變化。 如果 request 的模式是 same-origin,而 response 的模式是 CORS,ServiceWorker 不能再響應。這是最近添加到 Fetch 規范的安全措施。
FetchEvent.clientId 現在返回一個空字符串,而不是 null。例如,這會在導航請求期間發生。 Chrome 現在支持 RTCRtpSender.dtmf 屬性。這取代了 CreateDTMFSender() 尚未棄用的功能。 object-position 和 perspective-origin 屬性不再接受 3 個部分組成的值,例如 top right 20%。此更改也適用于基本形狀和漸變。有效位置值必須始終有 1, 2 或 4 個部分。 按照規范,ImageCapture.prototype.setOptions() 已被刪除。 按照規范,document.createTouch() 和 document.createTouchList() 已被刪除。 在規范更改之后,AudioParam.prototype.value 的自動解壓縮功能從 Chrome 中移除。如果您需要平滑處理 AudioParam 的更改,請使用 AudioParam.prorotype.setTargetAtTime()。 文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。 轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/52080.html 摘要:在中,針對屬性的一個子集實現了類型對象模型,這些屬于的一部分。返回一個對象,該對象指定每個受限制屬性的值或值范圍。例如,這會在導航請求期間發生。按照規范,已被刪除。
原文鏈接:Chrome 66 Beta: CSS Typed Object Model, Async Clipboard API, AudioWorklet
除非另有說明,否則下文所述的更改適用于 Android,Ch... 摘要:它很適合用于閱讀剪貼板文本的新異步方法安全和權限剪貼板訪問一直為瀏覽器帶來安全問題。讓網頁不受限制地讀取剪貼板更加麻煩。為了防止濫用,只有當頁面處于活動選項卡時才允許剪貼板訪問。
在過去的幾年里我們只能使用 document.execCommand 來操作剪貼板。不過,這種操作剪貼板的操作是同步的,并且只能讀取和寫入 DOM。
現在 Chrome 66 已經支持了新的 Async Cl... 摘要:它很適合用于閱讀剪貼板文本的新異步方法安全和權限剪貼板訪問一直為瀏覽器帶來安全問題。讓網頁不受限制地讀取剪貼板更加麻煩。為了防止濫用,只有當頁面處于活動選項卡時才允許剪貼板訪問。
在過去的幾年里我們只能使用 document.execCommand 來操作剪貼板。不過,這種操作剪貼板的操作是同步的,并且只能讀取和寫入 DOM。
現在 Chrome 66 已經支持了新的 Async Cl... 摘要:發布一直是數據可視化的不錯選擇。本次發布的版本的更新包括使用代替回調函數,等高線圖和密度圖。詳情發布該版本更新包括模塊調整,模塊新增函數判斷終端是否支持顏色,棄用函數和等。
01. D3.js 5.0 發布
D3 一直是 JavaScript 數據可視化的不錯選擇。本次發布的 5.0 版本的更新包括:使用 Promise 代替回調函數,等高線圖和密度圖。
詳情:https://gith... 摘要:發布一直是數據可視化的不錯選擇。本次發布的版本的更新包括使用代替回調函數,等高線圖和密度圖。詳情發布該版本更新包括模塊調整,模塊新增函數判斷終端是否支持顏色,棄用函數和等。
01. D3.js 5.0 發布
D3 一直是 JavaScript 數據可視化的不錯選擇。本次發布的 5.0 版本的更新包括:使用 Promise 代替回調函數,等高線圖和密度圖。
詳情:https://gith... 閱讀 1478·2021-10-14 09:43 閱讀 1442·2021-10-09 09:58 閱讀 1937·2021-09-28 09:42 閱讀 3727·2021-09-26 09:55 閱讀 1752·2021-08-27 16:23 閱讀 2755·2021-08-23 09:46 閱讀 906·2019-08-30 15:55 閱讀 1405·2019-08-30 15:54,,, 作為 fixed-position 元素的包含塊。
Blink > Media
const controller = new AbortController();
const signal = controller.signal;
const requestPromise = fetch(url, { signal });
// Abort the fetch:
controller.abort();
相關文章
Chrome 66 Beta:CSS 類型對象模型,異步剪貼板 API,AudioWorklet,等
Chrome 66 新增異步剪貼板 API
Chrome 66 新增異步剪貼板 API
FCC 成都社區·前端周刊 第 5 期
FCC 成都社區·前端周刊 第 5 期
發表評論
0條評論
張憲坤
男|高級講師
TA的文章
閱讀更多
針對Python初學者,這13個好用到起飛的小技巧!
VMShell公司ASN:147002正式SpeedTest生效香港CMI線路VPS,即將增加G口美
NCCK:香港CN2服務器,雙E5-處理器,24核32G內存,10M無限流量CN2GIA,五折$69
Python爬蟲:通過做項目,小編了解了酷狗音樂的加密過程
馬斯克承認特斯拉最新的“完全自動駕駛測試版”仍存在不足
騰訊云秒殺:云服務器74元/年起,1C2G6M三年僅219元起
純css實現叉號
如何讓被遮擋層可以進行事件點擊?(純CSS方法)