2016-12-03 10 views
-2

與公司有組策略的客戶端一起工作,不允許字體下載,所以我需要爲幾乎所有內容創建備用字體。由於當前字體與我們需要使用的系統字體的渲染方式完全不同,因此如果使用回退字體,則需要調整字體大小以及可能的其他屬性。我不知道怎麼一會做一個腳本,它是這樣的:如果添加一個類來表示是否使用了回退字體?

如果遙控器的字體無法加載,應用類「回退」到身體。

或者,如果有更好的方式來處理這樣的問題。

+0

編輯,以使更窄,但我不同意,這是擺在首位太廣(尤其是因爲Pomax已經證明在一個相當短的後一個潛在的解決方案的話)。 – Octavian

回答

1

定義兩個樣式表:一個在網絡字體方面明確定義的字體規則,第二,它定義的「網絡安全」的字體方面您的文本樣式。

然後你可以使用JavaScript來嘗試加載web字體,看它是否加載如果沒有,請從依賴於網絡字體的文檔樣式列表中的樣式表節點,然後添加一個新的<link><head>爲「而不是Web安全「樣式表。

由於加載超時,您肯定會感到非常惱火(在您決定webfont沒有加載並交換「web安全」樣式之前,您需要等待多久?),但要公平:預計何時您的組策略設置爲從字面上不支持現代網絡。

網絡字體是現代網絡的組成部分,禁止它們有點像設置禁止JS執行的組策略:「你爲什麼在網上開始,你顯然不想在那裏」 。

+0

我完全同意你關於團體政策的荒謬性 - 不幸的是,我反對政策的論點並沒有改變。 – Octavian

+1

可能值得檢查通過'data-uri'加載字體是否被認爲是「下載字體」。如果沒有,你可以避開這種限制(從一個域中獲取字體,可以使用XHR將字節碼轉換爲base64,然後形成一個data-uri並在CSS中「內聯」) –

+0

我不是非常熟悉這種技術。你可能會添加一個答案和一些細節呢? – Octavian

相關問題