首頁 > web前端 > js教程 > 什麼是Chrome 39中的新內容

什麼是Chrome 39中的新內容

William Shakespeare
發布: 2025-02-20 11:16:11
原創
443 人瀏覽過

What's New in Chrome 39

Chrome 瀏覽器雖然已經問世六年,但在版本號上卻正迅速步入成熟期。 Chrome 39 現已發布,您可能已經安裝了它。此版本包含一些不錯的全新功能……以及一兩個略顯可疑的補充。

ECMAScript 6 生成器

生成器是使用 function* 聲明的特殊函數,用於創建迭代器。迭代器是一個具有 next() 方法的對象,調用該方法以返回一個值。生成器函數使用 yield 語句提供序列中的下一個值。

Arunoda Susiripala 在《JavaScript 生成器和防止回調地獄》中提供了一個基本的示例:

function* HelloGen() {
    yield 100;
    yield 400;
}

var gen = HelloGen();

console.log(gen.next()); // {value: 100, done: false}
console.log(gen.next()); // {value: 400, done: false}
console.log(gen.next()); // {value: undefined, done: true}
登入後複製
登入後複製

Chrome、Opera 和 Firefox 31 均支持 ECMAScript 6 生成器。

Beacon API

新的 Beacon API 允許您將數據發送到服務器,而無需等待響應。請求會被排隊,瀏覽器會在第一時間發送這些請求,但重要的是——它不會延遲當前頁面的卸載或下一頁面的加載。

navigator.sendBeacon() 會接收一個 URL 和數據(可能是字符串或 FormData 值)。通常,它可用於傳輸統計信息,例如:

navigator.sendBeacon('/log', 'page-unloaded');
登入後複製

如果瀏覽器成功排隊了 Beacon 請求,則該方法返回 true。我不確定如果返回 false 可以做什麼,但 Beacon 不應用於基本功能或消息傳遞。

Chrome、Opera 和 Firefox 31 均支持 Beacon API。

Web 動畫控制

Web 動畫已在 Chrome 36 中推出。其理念是允許從 JavaScript 中進行簡單的類似 CSS3 的關鍵幀和動畫聲明,例如:

var myanimation = myelement.animate([
    { color: "#f00" },
    { left: "20em" },
    { transform: "rotate(180deg)" }
], {
    duration: 1000,
    iterations: 1,
    delay: 0
});
登入後複製

其優勢在於,您可以根據用戶輸入或其他條件控制和同步播放。 Chrome 39 添加了播放方法,例如 play()pause()reverse()finish()(將動畫置於其最終狀態)和 cancel()(清除所有效果)。

可以將 Web 動畫視為簡單的 CSS3 動畫和使用 requestAnimationFrame 和您自己的計時函數的複雜 JavaScript 全幀控制之間的折衷方案。對於一般的網頁效果來說,它可能有點過分,但對於遊戲來說又不夠強大。應用程序和演示文稿可能是不錯的用例?

目前只有 Chrome 和 Opera 瀏覽器支持 Web 動畫。 Firefox nightly 版本中提供了支持,並且可以使用 polyfill,但該技術在一段時間內不會穩定。

Web 應用清單

不要與應用程序緩存清單混淆,Web 應用清單是一個 JSON 文件,您可以在其中放置元數據,例如名稱、起始地址、圖標、顯示模式、方向等。

您需要在 HTML 頭部添加一個鏈接:

<link rel="manifest" href="manifest.json">
登入後複製

以及清單文件本身,例如:

function* HelloGen() {
    yield 100;
    yield 400;
}

var gen = HelloGen();

console.log(gen.next()); // {value: 100, done: false}
console.log(gen.next()); // {value: 400, done: false}
console.log(gen.next()); // {value: undefined, done: true}
登入後複製
登入後複製

這最終意味著我們可以從每個頁面的頂部刪除 57 個 iOS 圖標大小的替代方案……假設 Apple 決定在 Safari 中實現這項技術!

跨瀏覽器支持參差不齊。 Firefox 將清單用於其市場,但屬性名稱似乎存在一些差異。

Windows 7 沉浸式模式

在 Windows 7 上切換到沉浸式模式會使 Chrome 的行為有點像 Windows 8 全屏 Metro 應用程序。奇怪的是,它會在 Windows 任務欄上方放置一個類似 Chrome OS 的半透明任務欄——帶有自己的開始按鈕和時鐘。

為什麼? 如果 Windows 7 用戶想要 Windows 8 體驗,他們可以升級。但是,許多 Windows 7 用戶選擇堅持使用該操作系統是有原因的:他們不想要 Windows 8!

我還對 Google 堅持將 Chrome OS 小部件偷偷添加到其他操作系統感到困惑。這里和那裡的 Chrome 應用圖標是可以的——但複製本機功能毫無意義。也許他們希望吸引人們使用 Chrome OS,但惹惱他們不會有幫助。

其他更新

還有一些較小的功能……

  • 您現在可以安裝 Play 商店中的免費 Chrome 應用,無需登錄。
  • 在高 DPI/Retina 屏幕上,scrollTopscrollLeft 現在返回像素的分數。如果您認為像素完美很糟糕,請等待客戶開始要求亞像素完美!
  • 現在可以編輯保存的密碼。
  • 現在,Mac OS 上僅提供 64 位版本的 Chrome。
  • SHA-1 加密正在逐步淘汰,取而代之的是 SHA-2。
  • 已添加對菜單內擴展按鈕圖標的實驗性支持(在 about:flags 中設置 啟用擴展工具欄重新設計)。

儘管添加了一些有問題的功能,並且 Firefox 也趕上了部分功能,但 39 版本仍然是一個很棒的更新。 Chrome 仍然快速、穩定,並且是近一半網絡用戶的首選瀏覽器。推薦使用。

以上是什麼是Chrome 39中的新內容的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板