c# 字体库跨域解决

网上大部分的资料说的都是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) > 0)
            {
                var str = url.Substring(url.LastIndexOf(".", StringComparison.Ordinal));
                if (str == ".ttf" || str == ".woff")
                {
                    HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");
                }
            }

        }
时间: 2024-07-31 12:43:12

c# 字体库跨域解决的相关文章

解决firefox和IE9对icon font字体的跨域访问问题

何为跨域访问,为什么会有跨域限制?一切还得从浏览器的同源策略说起. 同源策略:是浏览器最核心也是最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能会受到影响,可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现. 浏览器的同源策略:限制了来自不同源的“document”或脚本,对当前“document”读取或设置某些属性.同源策略的存在,限制了“源”自A的脚本只能操作“同源”页面的DOM,“跨源”操作来源于B的页面将会被拒绝. 何为同源呢?“img.company.

spring mvc 图片上传,图片压缩、跨域解决、 按天生成目录 ,删除,限制为图片代码等相关配置

spring mvc 图片上传,跨域解决 按天生成目录 ,删除,限制为图片代码,等相关配置 fs.root=data/ #fs.root=/home/dev/fs/ #fs.root=D:/fs/ #fs.domains=182=http://172.16.100.182:18080,localhost=http://localhost:8080 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE be

spring mvc 图片上传,图片压缩、跨域解决、 按天生成文件夹 ,删除,限制为图片代码等相关配置

spring mvc 图片上传,跨域解决 按天生成文件夹 ,删除,限制为图片代码,等相关配置 fs.root=data/ #fs.root=/home/dev/fs/ #fs.root=D:/fs/ #fs.domains=182=http://172.16.100.182:18080,localhost=http://localhost:8080 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE b

JavaScript跨域解决方法大全

跨域的定义:JavaScript出于安全性考虑,同源策略机制对跨域访问做了限制.域仅仅是通过"URL的首部"字符串进行识别,"URL的首部"指window.location.protocol +window.location.host,也可以理解为"Domains, protocols and ports must match".实际上,同源策略就是浏览器的一种保护机制,只要请求双方的URL协议.域名(主机).端口有任何一个不同,都被当作是跨域.

跨域解决方法

跨域解决方法: 1.利用后端 ①设置头信息 ②后端代理 2.flash代理 3.jsonp 在js中找到一个代理 ①能够访问网络资源,并且不会有跨域问题 ②获取到资源数据可以给js使用 var oScript = document.createElement('script'); oScript.src = 'data.php'; document.body.appendChild(oScript); IE解决$.ajax() 跨域 $.support.cors = true;

js 利用iframe和location.hash跨域解决办法,java图片上传回调JS函数跨域

奶奶的:折腾了我二天,终于解决了!网上有很多例子. 但跟我的都不太一样,费话不多说了,上图   上代码: IE ,firefix,chrome 测试通过 js :这个主页面,部分代码, function submitUpload(id){ $("#imgSrc" + id +"").attr("alt", "图片上传中--"); var imgID = id; if(id>0){ imgID = 1; } var for

ajax 跨域解决方法

最近在开发过程中,使用ajax去异步调取图片.在开发中这个功能没什么问题,可以后来提测,重新部署之后就有问题了,这就是ajax的跨域问题. ajax本身是不支持跨域的,这是由于javascript的同源策略所导致.但是我们可以通过其他方法来解决ajax的跨域问题. 1  由于我们是利用了jquery来写的ajax,我们一开始是准备 利用jsonp来解决的,客户端类似下面写法 $.ajax({ type : "get", async:false, url : "http://w

利用servlet做转发,实现js跨域解决同源问题

做前端开发,避免不了跨域这个问题,跨域具体什么概念,不赘述,博客里太多.简单说下,我们用js发请求,不管post还是get,如果发请求的对象和当前web页面不在同一域名下,浏览器的同源策略会限制发请求,也就是说,如果单独写个HTML,用js发远程请求,是发布出去的,浏览器会认为这是不安全的,js在这里能做的很有限. 网上看了很多文章,小弟愚钝,只用js一直没解决这个问题,jQuery的Ajax据说可以,但是测试后发现不行,也许是浏览器版本的原因.有种方法是jsonp,但是好像需要服务器支持,我对

ajax跨域解决办法

在使用jquery的ajax作请求时,http://127.0.0.1:8080,类似这样的一个本地请求,会产生跨域问题, 解决办法一: jsonp: var url= "http://127.0.0.1:8080/botinterface/?p1="+input+"&callback=?"; jQuery('#input').val(''); replaceText('me',input); $.ajax({ type: "POST",