我使用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個小時才能獎賞賞金,但是,我會在那之後。 –