Stories

List
Create Time

browserslist 使用簡介

頁面為了能在各個品牌、各個版本的瀏覽器上正常顯示,需要處理各種兼容問題:將現代的 JavaScript 語法(ESNext)轉譯為舊版的 JavaScript 語法(ES5);為不兼容的 CSS 樣式添加瀏覽器前綴(-webkit-、-moz-);等等。 現代的前端頁面開發流程,都有相應的工具為開發者自動地處理這些兼容問題:Autoprefixer - 為 CSS 樣式,自動添加不兼容的瀏覽器前綴

Create Time

窗口間通信方案——postMessage

postMessage 是 html5 引入的 API,postMessage 方法允許來自不同源的腳本採用異步方式進行通信,其實同源不同頁面的腳本也可以採用 postMessage 方法進行通信。 介紹 發送數據 需要在接收數據窗口的全局對象下調用該方法。 targetWindow.postMessage(message, targetOrigin, [transfer]) targetWi

Create Time

CSS - grid 簡介以及常用屬性介紹

利用grid佈局可以高效地實現二維佈局。但是其眾多的屬性以及屬性值,讓很多剛剛接觸的人和沒有系統性總結的人云裏霧裏,這增加了使用grid的成本。 為此,從實用角度出發,按照類別,系統性地總結了日常開發常用的知識點。 網格容器屬性 聲明元素為網格佈局 通過 display: grid 聲明某個元素為網格佈局: .wrapper { /* 聲明一個容器 */ display: grid;

Create Time

瀏覽器中的JavaScript執行機制

在瀏覽器中,JavaScript 代碼通常是通過若干個 script 標籤引入的。而瀏覽器在執行每個 script 標籤時,會有如下特點: 每個 script 標籤引入的 JavaScript 代碼,都是一個宏任務(也就是説,微任務隊列必須在下一個script標籤執行前,全部執行完畢)。 那麼,每個 JavaScript代碼的執行機制是什麼的呢?接下來詳細介紹一下。 變量提升 每一段 Jav

Create Time

在Chrome瀏覽器中,即使<img crossOrigin=anonymous>也會被同源策略攔截

在一次開發中,遇到了生成海報的需求:在圖片相冊界面用户選擇若干張圖片,在海報編輯界面用户通過拖動這些圖片生成一張海報,供用户下載。 在圖片相冊界面,圖片均展示正常且無報錯發生。當用户選擇若干張圖片之後,進入海報編輯界面前,添加cors屬性img crossOrigin=anonymous重新加載這些圖片,以便canvas處理這些圖片數據(圖片添加cors屬性原因)。神奇的是:所有的圖片均無法顯示,