我使用Google App Engine设置了一个静态服务器,这样我就可以存储字体文件,可下载文件(例如zip
和其他应用程序文件)以及Chrome,Safari和Opera它的工作效果很好,但是在Firefox和IE中,我的网页字体出现跨域“不允许”错误。我正在使用Python 2.7运行时,并且发现了几个似乎不起作用的方法。绕过Firefox和IE的网页字体跨域策略
第一个是在我的应用程序的根目录中创建一个crossdomain.xml
文件(但我不知道是否应该使用Python文件或我的app.yaml
为我的应用程序路由/配置它,就像我拥有的一样还没有看到它的一个例子),但不管怎么说,这是我的代码:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<site-control permitted-cross-domain-policies="all"/>
<allow-access-from domain="*" to-ports="*" secure="false"/>
<allow-http-request-handlers-from domain="*" headers="*" secure="false"/>
</cross-domain-policy>
第二个是刚刚建立一个普通的.htaccess
文件(但同样,我不知道如何配置/路由它,这可能是唯一的问题)。下面是代码:
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Methods "GET"
Header set Access-Control-Allow-Credentials "false"
</IfModule>
但是,当我重新部署我的静态服务器,我仍然可以在Firefox和IE的错误。我对Python的使用经验(和后端时期)几乎没有任何关系,所以如果我做错了或忘记了一个重要部分,请原谅我。如果需要,我可以提供我的app.yaml
和main.py
的代码(但它非常简单)。我正在积极使用app.yaml
来路由crossdomain.xml
和.htaccess
,并且,当页面找到并路由正确时,它仍然不会在FF和IE中显示网页字体。
任何帮助将不胜感激。
谢谢!这工作。我有类似的东西,但我可能没有做一件小事。 :P这是对我缺乏经验的反响。显然,我必须等待19个小时才能奖赏赏金,但是,我会在那之后。 –