Internet explorer 绕过Firefox和IE';Web字体的跨域策略
我使用Google App Engine设置了一个静态服务器,这样我就可以存储字体文件、可下载文件(如Internet explorer 绕过Firefox和IE';Web字体的跨域策略,internet-explorer,google-app-engine,firefox,python-2.7,webfonts,Internet Explorer,Google App Engine,Firefox,Python 2.7,Webfonts,我使用Google App Engine设置了一个静态服务器,这样我就可以存储字体文件、可下载文件(如zips和其他应用程序文件)以及Chrome、Safari和Opera,它工作得很好,但是使用Firefox和IE,我的webfonts会出现跨域“不允许”错误。我正在使用Python2.7运行时,发现了一些似乎不起作用的方法 第一个是在我的应用程序的根目录中设置一个crossdomain.xml文件(但是我不知道是否应该使用Python文件或我的app.yaml为我的应用程序路由/配置它,因为
zip
s和其他应用程序文件)以及Chrome、Safari和Opera,它工作得很好,但是使用Firefox和IE,我的webfonts会出现跨域“不允许”错误。我正在使用Python2.7运行时,发现了一些似乎不起作用的方法
第一个是在我的应用程序的根目录中设置一个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>
但是当我重新部署我的静态服务器时,我仍然会在Firefox和IE中遇到错误。我对Python(以及后端)的体验几乎是零,所以如果我做错了什么或忘记了一个重要部分,请原谅我。如果有必要,我可以为我的app.yaml
和main.py
提供代码(不过它非常简单)。我正在积极使用app.yaml
来路由crossdomain.xml
和.htaccess
,并且,虽然页面被正确找到和路由,但它仍然没有在FF和IE中显示webfonts
任何帮助都将不胜感激。要将
crossdomain.xml
文件作为App Engine中的静态文件提供,请在处理程序下向您的App.yaml
添加以下内容:
键:
处理程序:
-url:/crossdomain.xml
静态文件:static/crossdomain.xml
上传:static/crossdomain.xml
当然,handlers:
键下肯定还有其他url:
条目
url:
键必须是/crossdomain.xml
。static\u文件:
条目应该是实际文件的相对路径,将其存储在static/
目录中。您还必须包含一个upload:
键,以告知上传者正在提供什么文件
请参阅文档。谢谢!这起作用了。我也有过类似的经历,但我可能做的一件小事都不对这是我缺乏经验的结果。显然,我必须等19个小时才能获得赏金,但是,之后我会的。
<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>