[小菜一碟] 搞懂 Day.js Timezone 外掛套件的使用方式
- 107
- 0
- JavaScript
最近專案有一個需求,需求當中的一個小部分是要在網頁上將使用者輸入的內容壓縮起來存檔,之後使用者再開啟這個檔案解壓縮顯示壓縮前的內容在網頁上,仔細想想現在的硬碟空間都那麼大,好像沒有什麼壓縮的必要,但是使用者覺得有必要,那也只好做給他了。
我們在追蹤客戶端行為時,多多少少會遇到一個場景,就是要在使用者把網頁視窗關閉時,將記錄送回伺服器端,做法上我們可能會想在網頁視窗觸發 unload 事件的時候,發送 AJAX Request 回伺服器端就好了,但是這個方法在一些瀏覽器上(比如:Firefox)不 Work,取而代之 Web APIs 提供了更好的 API - sendBeacon()。
在 JavaScript 的 Promise API 中,要處理一個 Promise 的集合,有 Promise.all()、Promise.any()、…等等,可是這些 API 要嘛要等全部的 Promise 都完成了,要嘛是任一個,而且只有一個 Promise 完成了,才能串接後續的處理,沒有那種依照完成的先後順序一個接一個串接後續處理的 API,不過沒關係,利用 Promise 的特性,我們也是能做到類似的效果。
一般我們如果打造的系統是給企業內部使用的話,走的是 Intranet,大概不會有程式設計師會去在意網路流量,當應用場景搬到了 Internet,流量成為企業經營成本的時候,那可是能省則省,因為在網際網路上大多數的內容,觀看者是沒有直接為這些內容付費的,成本當然能少一點是一點,這篇文章就要來介紹 WebMarkupMin 這個套件,將我們的 HTML 內容做最小化,減少不必要的傳輸流量。
之前的文章有介紹到 SSR(Server Side Rendering)的服務 - rendertron,在官方文件有提到,如果我們轉發的網址有帶 Query String 的話,需要對 Query String 做 URL Encode,我的轉發邏輯是寫在 Nginx,所以這件事情最好就由 Nginx 來負責。
這件事情說穿了其實就是用 Babel,平常就有在關注前端技術發展的朋友應該不陌生,Babel 可以將 JavaScript 比較新的語法轉譯成通用的寫法,讓舊版的瀏覽器(例如:IE)可以執行,我們就不需要為了舊版的瀏覽器而捨棄新語法。