网上大部分的资料说的都是apache和ng服务器的情况下解决方案,但基本的思路都是添加响应头

场景:

页面引用css文件:

<link href="http://www.tuohuangzu.com/content/Company_v2/register/css/font.css" type="text/css" rel="stylesheet"/>

样式中定义:

@font-face {
    font-family: 'Uninf-icon-usual';
    src:url('fonts/Uninf-icon-usual.eot?-ny5g1a');
    src:url('fonts/Uninf-icon-usual.eot?#iefix-ny5g1a') format('embedded-opentype'),
        url('fonts/Uninf-icon-usual.ttf?-ny5g1a') format('truetype'),
        url('fonts/Uninf-icon-usual.woff?-ny5g1a') format('woff'),
        url('fonts/Uninf-icon-usual.svg?-ny5g1a#Uninf-icon-usual') format('svg');
    font-weight: normal;
    font-style: normal;
}

对字体库的应用导致了跨域,在火狐中会提示ttf和woff引发跨域问题

解决方法:

protected void Application_BeginRequest(object sender, EventArgs e)
{ var url = HttpContext.Current.Request.Url.AbsolutePath;
if (url.LastIndexOf(".", StringComparison.Ordinal) > )
{
var str = url.Substring(url.LastIndexOf(".", StringComparison.Ordinal));
if (str == ".ttf" || str == ".woff")
{
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");
}
} }
04-24 14:43