簡體   English   中英

如何在 windows server (asp.net c#) 網站中緩存 @font-face?

[英]How to cache @font-face in windows server (asp.net c#) web site?

我已經使用@font-face 向我的網站添加了自定義字體,但它們會在每個頁面加載/刷新時重新加載。

在某些論壇中,我找到了有關使用 .htaccess 文件的解決方案,但我不確定是否可以在 .net(Windows 服務器)中使用它。

在我的 web.config 文件中,clientCache 設置為 Max,但這不會影響 FONTS。

<staticContent>
  <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" />
</staticContent>

如果您給我示例代碼或可行的解決方案,我將不勝感激。

提前謝謝了!

卡爾多

在尋找解決方案時,我遇到了這個問題。 我有一個解決方案,希望它也能幫助其他人。

在評論中,您有IIS7 Cache Control的建議。

你需要做的是,

1. 創建一個 web.config 文件,內容如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <staticContent>
      <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" />
    </staticContent>
  </system.webServer>
</configuration>

2. 將此文件復制到您的“字體”目錄並完成。

這控制了 Web 客戶端和代理服務器將如何緩存 IIS 7 和更高版本返回的內容。 來自Microsoft 文檔的更多信息

我遇到了同樣的問題,所以我改變了策略。 我無法緩存 TTF(不知道為什么)但您可以緩存 CSS! 所以我為我的字體創建了一個 CSS 文件,並使用 base64 包含它。

這是一篇關於它的文章http://blog.patdavid.net/2012/08/embedding-fonts-with-css-and-base64.html

並將您的字體轉換為 base 64: http : //base64fonts.com/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM