下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第微信小程序中使用自定義字體的實現(xiàn)與體驗優(yōu)化目錄前言技術難點1.微信限制2.機型兼容文檔說明體驗優(yōu)化附微信小程序設置全局字體結尾
前言
前段時間,甲方爸爸提出一個比較個性化的需要:要在他們的小程序中使用他們購買過版權的特殊字體。好家伙,我瞬間萬馬奔騰,我三十米的大刀呢?奈何甲方爸爸就是上帝,甲方爸爸想到的我們要盡量是實現(xiàn),甲方爸爸沒有想到的我們要提前實現(xiàn)。
怎么實現(xiàn)呢?
開擼之前,先研究一下,探索一下技術方案。
技術難點
1.微信限制
大家開發(fā)過微信小程序的應該都知道,微信平臺對小程序的體積大小有限制:
整個小程序所有分包大小不超過20M
單個分包/主包大小不能超過2M
出于這個限制,字體肯定沒有辦法放到本地資源中了,那就只有一條出路,將資源放到第三方cdn資源中。但是使用cdn資源有一點需要注意:需要配置合法域名。
2.機型兼容
經過初步測試,發(fā)現(xiàn)使用自定義字體在不同的機型上的兼容性有所出入,尤其是安卓手機。經過一定數(shù)量的測試得出一個粗淺的結論:ttf字體在iOS手機上兼容性比較好,在安卓機上會出現(xiàn)特殊機型失效的問題。
說到這里,我就忍不住吐槽兩句,這段時間進行機型適配的時候,華為鴻蒙和蘋果xs真的是折磨的我死去活來的,經常出現(xiàn)一些跟大眾機型與眾不同的問題。
經過一番查找,發(fā)現(xiàn)了兩種解決方案:
使用css樣式,引入多種字體類型,包含.ttf和.woff類型
使用微信官方apiwx.loadFontFace
經過慎重考慮,我們最終采用了第二種方案。
文檔說明
字體文件返回的contet-type參考font,格式不正確時會解析失敗。
字體鏈接必須是https(ios不支持http)
字體鏈接必須是同源下的,或開啟了cors支持,小程序的域名是
工具里提示Faildtoloadfont可以忽略
2.10.0以前僅在調用頁面生效。
重要的事情再三強調:字體鏈接必須是同源下的,或開啟了cors支持。
我當時就是由于使用第三方cdn資源,但是沒有配置cors支持,導致安卓手機上一直不生效。而且比較難排查的另一個原因是,模擬器上和蘋果手機上沒有配置cors支持,但是依然生效,很奇怪。
體驗優(yōu)化
雖然wx.loadFontFace是官方提供的api,但是有個體驗問題很是折磨:wx.loadFontFace每次進入頁面都會重新下載,而且會出現(xiàn)字體閃動。
字體閃動的問題相對來說比較容易體驗,在字體加載完成之前,添加了loading效果,而且在進入入口的時候第一時間就開始加載字體。
每次都加載的問題,通過惰性模式緩解了一下,但是沒有完全解決(由于cdn資源會進行緩存,所以考慮通過判斷緩存資源是否存在來判斷是否需要加載字體,但是很遺憾,還沒有實現(xiàn)),直接上一下現(xiàn)在的搓代碼吧。
letloadStatus=false;
if(!loadStatus){
wx.loadFontFace({
family:'...',
source:'url("...")',
success(){
loadStatus=ture;
});
附微信小程序設置全局字體
微信小程序設置全局css,需要在app.wxss文件中設置page的樣式
page{
fo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 骨質疏松患者日常生活指導
- 教師專業(yè)能力發(fā)展可視化在教師教學反思中的應用與效果評估教學研究課題報告
- 2025安徽馬鞍山首創(chuàng)水務有限責任公司招聘勞務派遣制工作人員5人(十二月)筆試歷年參考題庫附帶答案詳解
- 2025安徽蚌埠競先數(shù)據(jù)服務有限公司人才招聘6人筆試歷年參考題庫附帶答案詳解
- 2025安徽蕪湖市繁昌區(qū)區(qū)屬國有企業(yè)招聘經理層中層管理人員筆試歷年參考題庫附帶答案詳解
- 2025安徽亳州機場管理有限公司勞務派遣人員招聘8人筆試歷年參考題庫附帶答案詳解
- 2025天津靜海泊泰醫(yī)院有限公司面向社會招聘7人筆試歷年參考題庫附帶答案詳解
- 2025國家核安保技術中心招聘筆試參考題庫附帶答案詳解
- 2025四川廣安發(fā)展建設集團有限公司第三批招聘18人筆試歷年參考題庫附帶答案詳解
- 2025四川大道致遠供應鏈管理有限責任公司招聘員工測試筆試歷年參考題庫附帶答案詳解
- 安全目標管理制度煤廠(3篇)
- 云南省玉溪市2025-2026學年八年級上學期1月期末物理試題(原卷版+解析版)
- 車輛駕駛員崗前培訓制度
- 2026年哈爾濱通河縣第一批公益性崗位招聘62人考試參考試題及答案解析
- 就業(yè)協(xié)議書解約函模板
- 招聘會會展服務投標方案(技術標 )
- 高考英語3500單詞表(帶音標)(亂序版)默寫背誦通用版
- 馬超-水田省力化劑型的開發(fā)及應用研究-
- 頭面部的神經阻滯課件
- 友達光電(昆山)有限公司第一階段建設項目環(huán)?!叭瑫r”執(zhí)行情況報告
- 光學下擺拋光技術培訓教材
評論
0/150
提交評論