公司這邊做網頁IM,我做了簡單的封裝,說白了就是 頁面引用一個JS,就能生成IM浮層。一切順利,最后發現字體文件有個跨域問題,研究了一天,對於跨域使用的傳統的處理方式:
1 Access-Control-Allow-Headers content-type 2 Access-Control-Allow-Methods GET,POST,PUT,DELETE,OPTIONS 3 Access-Control-Allow-Origin *
這個是設置IIS,但是又發現谷歌瀏覽器不支持,MMD,沒招了,只能出絕招了,處理方式如下:
字體轉base64編碼網址:https://transfonter.org/
具體步驟如下:
打開剛剛我們經過轉換的解壓出來的文件,找到stylesheet.css,復制 里面內容
@font-face { font-family: 'my-icon'; src: url(data:font/truetype;charset=utf-8;base64,xxxx...) format('truetype'); font-weight: normal; font-style: normal; }
替換原來的
1 @font-face{ 2 font-family:my-icon; 3 src:url(../font/iconfont.eot?v=240); 4 src:url(../font/iconfont.eot?v=240#iefix) format('embedded-opentype'), 5 url(../font/iconfont.svg?v=240#iconfont) format('svg'), 6 url(../font/iconfont.woff?v=240) format('woff'),url(../font/iconfont.ttf?v=240) format('truetype') 7 }
完成以后刷新頁面即可,到此問題解決,我的任務也完成了!
感謝: