偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

90% 前端都不知道的 20 個「零依賴」瀏覽器原生能力!

開發(fā) 前端 瀏覽器
本文分享 20 個 2025 年依舊「少人知道、卻能立竿見影」的原生 API。下面,我們一起來看。

分享 20 個 2025 年依舊「少人知道、卻能立竿見影」的原生 API。

收藏 = 省下一個工具庫 + 少寫 100 行代碼!

1. ResizeObserver

精準(zhǔn)監(jiān)聽任意 DOM 寬高變化,圖表自適應(yīng)、虛擬滾動必備。

new ResizeObserver(([e]) => chart.resize(e.contentRect.width))
  .observe(chartDom);

2. IntersectionObserver

檢測元素進(jìn)出視口,一次搞定懶加載 + 曝光埋點(diǎn),性能零損耗。

new IntersectionObserver(entrieList =>
  entrieList.forEach(e => e.isIntersecting && loadImg(e.target))
).observe(img);

3. Page Visibility

偵測標(biāo)簽頁隱藏,自動暫停視頻、停止輪詢,移動端省電神器。

document.addEventListener('visibilitychange', () =>
  document.hidden ? video.pause() : video.play()
);

4. Web Share

一鍵喚起系統(tǒng)分享面板,直達(dá)微信、微博、Telegram,需 HTTPS。

navigator.share?.({ title: '好文', url: location.href });

5. Wake Lock

鎖定屏幕常亮,直播、PPT、閱讀器不再自動息屏。

await navigator.wakeLock.request('screen');

6. Broadcast Channel

同域標(biāo)簽實(shí)時廣播消息,登錄態(tài)秒同步,告別 localStorage 輪詢。

const bc = new BroadcastChannel('auth');
bc.onmessage = () => location.reload();

7. PerformanceObserver

無侵入采集 FCP、LCP、FID,一行代碼完成前端性能監(jiān)控。

new PerformanceObserver(list =>
  list.getEntries().forEach(sendMetric)
).observe({ type: 'largest-contentful-paint', buffered: true });

8. requestIdleCallback

把埋點(diǎn)、日志丟進(jìn)瀏覽器空閑時間,首幀零阻塞。

requestIdleCallback(() => sendBeacon('/log', data));

9. scheduler.postTask

原生優(yōu)先級任務(wù)隊列,低優(yōu)任務(wù)后臺跑,主線程絲滑。

scheduler.postTask(() => sendBeacon('/log', data), { priority: 'background' });

10. AbortController

隨時取消 fetch,路由切換不再舊請求競態(tài),兼容 100%。

const ac = new AbortController();
fetch(url, { signal: ac.signal });
ac.abort();

11. ReadableStream

分段讀取響應(yīng)流,邊下載邊渲染,大文件內(nèi)存零爆漲。

const reader = response.body.getReader();
while (true) {
  const { done, value } = await reader.read();
  if (done) break;
  appendChunk(value);
}

12. WritableStream

逐塊寫入磁盤或網(wǎng)絡(luò),實(shí)時保存草稿、上傳大文件更穩(wěn)。

const writer = stream.writable.getWriter();
await writer.write(chunk);

13. Background Fetch

PWA 后臺靜默下載,斷網(wǎng)恢復(fù)繼續(xù),課程視頻提前緩存。

await registration.backgroundFetch.fetch('video', ['/course.mp4']);

14. File System Access

讀寫本地真實(shí)文件,需用戶授權(quán),Web IDE 即開即用。

const [fh] = await showOpenFilePicker();
editor.value = await (await fh.getFile()).text();

15. Clipboard

異步讀寫剪貼板,無需第三方庫,HTTPS 環(huán)境安全復(fù)制。

await navigator.clipboard.writeText('邀請碼 9527');

16. URLSearchParams

解析、修改、構(gòu)造 URL 查詢串,告別手寫正則。

const p = new URLSearchParams(location.search);
p.set('page', 2);
history.replaceState({}, '', `?${p}`);

17. structuredClone

深拷貝對象、數(shù)組、Map、Date,循環(huán)引用也能完美復(fù)制。

const copy = structuredClone(state);

18. Intl.NumberFormat

千分位、貨幣、百分比一次格式化,國際化零配置。

new Intl.NumberFormat('zh-CN', { style: 'currency', currency: 'CNY' })
  .format(1234567); // ¥1,234,567.00

19. EyeDropper

瀏覽器級吸管工具,像素級取色,設(shè)計系統(tǒng)直接調(diào)用。

const { sRGBHex } = await new EyeDropper().open();

20. WebCodecs

原生硬解碼音視頻,4K 60 幀流暢播放,CPU 占用直降。

責(zé)任編輯:趙寧寧 來源: 前端開發(fā)愛好者
相關(guān)推薦

2025-10-28 04:10:00

Web開發(fā)工具

2019-04-08 10:27:00

渲染瀏覽器DOM

2025-02-18 00:05:00

2020-12-21 09:00:04

MySQL緩存SQL

2024-10-22 09:03:35

前端signalAPI

2020-12-21 09:44:53

MySQL查詢緩存數(shù)據(jù)庫

2024-07-12 13:49:38

2022-03-25 19:12:26

WindowsPC電腦操作系統(tǒng)

2025-03-06 00:08:00

DeepSeekDrawio技巧

2025-02-04 17:33:00

2011-11-29 09:12:22

Web

2023-01-13 16:48:48

前端開發(fā)JavaScript

2021-07-22 09:28:35

DockerLinux命令

2022-12-05 15:23:33

JavaScript技巧運(yùn)算符

2020-07-29 09:53:09

VSCode編碼工具插件

2018-12-06 09:12:58

2015-05-13 11:03:29

LinuxLinux工具

2025-08-28 00:00:00

瀏覽器JavaScript前端

2021-11-12 10:05:19

跳表BAT面試

2015-05-13 11:02:07

Linux網(wǎng)絡(luò)工具網(wǎng)絡(luò)工具
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號