网站发布后Bootstrap框架引用woff字体无法正常显示的解决方法


Posted in Javascript onNovember 24, 2016

网站发布到IIS后,发现网站使用的Bootstrap框架所引用的woff字体无法正常显示。于是跟踪http请求,发现woff字体请求出现GET .woff 404 (Not Found)的问题,但是项目中woff字体的文件并未丢失。后经排查,原来是服务器上IIS没有添加woff字体的MIME类型,导致发送HTTP请求时,IIS无法处理和识别此类型的文件。

解决方法1:在Web.config配置文件中添加woff字体的MIME类型

解放方法2:在IIS中添加woff字体的MIME类型
woff字体简介
MIME类型简介

解决方法一:在Web.config配置文件中添加woff字体的MIME类型

如果网站是使用ASP.NET 或者ASP.NET MVC 编写的,可以很方便的直接使用配置文件进行woff字体的配置。只要在Web.config中的system.webServer节点添加下面的配置可以了。

<system.webServer> 
 <staticContent>
  <remove fileExtension=".woff" />
  <mimeMap fileExtension=".woff" mimeType="font/x-font-woff" />  
 </staticContent>
 </system.webServer>

这里要注意下的是这个配置,添加此节点是防止出现这个错误:“在唯一密钥属性“fileExtension”设置为“.woff”时,无法添加类型为“mimeMap”的重复集合项”,这个问题可以点击此链接查看解决方法。如果只添加下面的这个节点,而且没有报这个错误的话,remove节点可以不用添加。另外”font/x-font-woff”是woff字体的MIME类型值。

将该节点添加到网站的配置文件后,在重新打开网站即可正常显示woff字体。此方法可用于没有权限操作IIS管理器的时候作为解决方案。

解放方案二:在IIS中添加woff字体的MIME类型

如果可以直接操作IIS管理器的话,也可以直接在IIS上添加woff字体的mime type。只要打开当前的IIS,打开MIME类型的配置,最后添加一个新的MIME类型就可以了,这里woff字体的扩展名是.woff, MIME类型为:”font/x-font-woff“。具体操作如下所示:

打开控制面板中的IIS管理器,选择当前IIS,打开MIME类型配置;

在IIS中添加.woff截图;

点击MIME类型右边操作的栏的添加功能;

添加.woff的MIME类型截图;

弹出的添加MIME类型对话框中,文件扩展名填写.woff,MIME类型可填写 font/x-font-woff 或者application/x-font-woff;

设置文件扩展名和类型;

点击确定后成功添加了.woff扩展名的MIMI TYPE,现在打开网站请求WOFF字体就不会出现404 NOT FOUND错误了。

woff字体简介

Web开放字体格式(Web Open Font Format,简称WOFF) 是一种网页所采用的字体格式标准。此字体格式发展于2009年,现在正由万维网联盟的Web字体工作小组标准化,以求成为推荐标准。此字体格式不但能够有效利用压缩来减少档案大小,并且不包含加密也不受DRM(数位著作权管理)限制。

在2010年4月8日,Mozilla基金会、Opera软件公司和微软提交WOFF之后,万维网联盟发表评论指,希望WOFF不久能成为所有浏览器都支持的、“单一、可互操作的(字体)格式”。[6]2010年7月27日,万维网联盟将WOFF作为工作草案发布。

WOFF的MIME类型是:application/x-font-woff(font/x-font-woff也可以),目前的IIS7里面默认没有这个MIME类型,如果要让网站支持这个,请在IIS7里面的MIME类型里面添加woff

MIME类型简介

MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型,既设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Discuz! 6.1_jQuery兼容问题
Sep 23 Javascript
jQuery的实现原理的模拟代码 -2 数据部分
Aug 01 Javascript
Jquery中children与find之间的区别详细解析
Nov 29 Javascript
JSF中confirm弹出框的用法示例介绍
Jan 07 Javascript
JQuery自动触发事件的方法
Jun 13 Javascript
JS实现可展开折叠层的鼠标拖曳效果
Oct 09 Javascript
Vue.js快速入门实例教程
Oct 15 Javascript
详解Angular的数据显示优化处理
Dec 26 Javascript
利用JQuery操作iframe父页面、子页面的元素和方法汇总
Sep 10 jQuery
基于Particles.js制作超炫粒子动态背景效果(仿知乎)
Sep 13 Javascript
javaScript canvas实现(画笔大小 颜色 橡皮的实例)
Nov 28 Javascript
NW.js 简介与使用方法
Feb 01 Javascript
Javascript 数组去重的方法(四种)详解及实例代码
Nov 24 #Javascript
BootStrap树状图显示功能
Nov 24 #Javascript
Bootstrop实现多级下拉菜单功能
Nov 24 #Javascript
AngularJS自定义服务与fliter的混合使用
Nov 24 #Javascript
微信小程序-详解数据缓存
Nov 24 #Javascript
如何实现json数据可视化详解
Nov 24 #Javascript
BootStrap 可编辑表Table格
Nov 24 #Javascript
You might like
php 全文搜索和替换的实现代码
2008/07/29 PHP
php中防止恶意刷新页面的代码小结
2012/10/31 PHP
PHPExcel简单读取excel文件示例
2016/05/26 PHP
php添加数据到xml文件的简单例子
2016/09/08 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
2017/08/30 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
2017/11/17 PHP
php 截取中英文混合字符串的方法
2018/05/31 PHP
可实现多表单提交的javascript函数
2007/08/01 Javascript
contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
2011/09/13 Javascript
用js实现输入提示(自动完成)的实例代码
2013/06/14 Javascript
javascript随机将第一个dom中的图片添加到第二个div中示例
2013/10/08 Javascript
JS针对浏览器窗口关闭事件的监听方法集锦
2016/06/24 Javascript
ReactNative页面跳转实例代码
2016/09/27 Javascript
AngularJs表单验证实例代码解析
2016/11/29 Javascript
微信小程序 label 组件详解及简单实例
2017/01/10 Javascript
详解vue表单验证组件 v-verify-plugin
2017/04/19 Javascript
关于vue-router路径计算问题
2017/05/10 Javascript
Angular模板表单校验方法详解
2017/08/11 Javascript
JS中的事件委托实例浅析
2018/03/22 Javascript
JavaScript 俄罗斯方块游戏实现方法与代码解释
2020/04/08 Javascript
基于ajax及jQuery实现局部刷新过程解析
2020/09/12 jQuery
vue项目中微信登录的实现操作
2020/09/08 Javascript
深入理解Python对Json的解析
2017/02/14 Python
Python3 log10()函数简单用法
2019/02/19 Python
深入浅析python 协程与go协程的区别
2019/05/09 Python
Python内置random模块生成随机数的方法
2019/05/31 Python
python读取指定字节长度的文本方法
2019/08/27 Python
python实现拉普拉斯特征图降维示例
2019/11/25 Python
python微信公众号开发简单流程实现
2020/03/09 Python
python实现计算器简易版
2020/12/17 Python
css3 伪类选择器快速复习小结
2019/09/10 HTML / CSS
英国剑桥包官网:The Cambridge Satchel Company
2016/08/01 全球购物
《会走路的树》教后反思
2014/04/19 职场文书
企业法人代表证明书
2014/09/27 职场文书
中学生运动会广播稿
2015/08/19 职场文书
解决redis批量删除key值的问题
2022/03/23 Redis