2010-03-29 69 views
6

我在Firefox 3.5中試驗了fancy new OpenType font capability,我遇到了一個問題。我試圖在不同的域上嵌入字體而不是它將使用的頁面,並且它不起作用。我認爲這可能是一個錯誤,但是從我的MDC參考頁面上閱讀,我注意到這樣一個字條:爲什麼Firefox中的網頁字體不能在不同的域上工作?

在壁虎,網頁字體都受到相同的域限制(字體文件必須在與使用它們的頁面相同的域),除非使用HTTP訪問控制來放寬此限制。

看起來他們有意設計瀏覽器。出於好奇,他們爲什麼要這樣做?嵌入字體是否存在安全風險?還是用於合法商標或版權問題?或者是其他東西?

+0

我知道某些字體受版權保護,並且在網頁中使用它們可能會有法律限制。我在問,這是否與他們對他們執行跨國標準的決定有關。對我而言,這似乎不是阻止使用受版權保護的字體的非常有效的方法。 – 2010-03-30 18:27:31

回答

8

如果你想繞過它,你可以嘗試添加該給你的.htaccess:

Header set Access-Control-Allow-Origin * 

要回答你的問題,它可能涉及到的是,由於3.5版本的Firefox支持cross-origin sharing standard的事實。

+0

我瞭解標準,並知道如何設置訪問控制標題。我問他們爲什麼決定對字體有這些限制。 – 2010-03-30 18:25:50

+0

「CSS @ font-face構造禁止跨源裝載,通過資源共享策略,可以建立一個Web服務,將字體許可證出售給選定的服務器,併爲它們處理緩存和帶寬使用。」來源 – Knu 2010-03-31 02:43:59

+2

請注意,此標題必須在包含字體的網站上設置。我遇到過這種情況,因爲我的字體位於static.example.com上,但我的網站是www.example.com。在類似情況下,最好指定允許訪問的站點,以防止某人盜鏈你的字體,如下所示:「Header set Access-Control-Allow-Origin:http:// www.example.com' – Kip 2010-10-26 17:53:19

相關問題