2017-03-01 53 views
1

我完全不熟悉Orbeon窗體(自上週以來)。Orbeon使用font-awesome(@ font-face不加載本地託管字體)

我們想要使用Orbeon窗體中的font = awesome庫中的圖標。這樣做使用官方的JS CDN(包括properties-local.xml中的.js文件)工作得很好。使用另一個基於CSS的CDN(包括properties-local.xml中的.css文件)也能正常工作。

但是,爲了安全,這些表單運行的環境不允許訪問外部世界。因此這些文件需要在本地託管。

添加CSS文件到我們的安裝工作得很好,包括從/forms/blah/assets/css/font-awesome.css

什麼失敗時加載的字體屬性 - local.xml中加載中.css文件from/forms/blah/assets/fonts/

控制檯日誌錯誤顯示呈現的頁面正試圖從正確的URI加載文件,但給出了404錯誤。

我可以在官方文檔和在線其他地方找到的最多的內容是指加載字體以用於PDF生成。在基於Web的表單中顯示的字體是否也有類似的字體?

非常感謝

+1

那麼是什麼問題? – Dekel

+0

對不起@Dekel我不小心點擊輸入,而改變主題行和提交的問題:) –

回答

2

在預感上,這竟然是一個MIME類型的問題。雖然我已經檢查過Apache Tomcat是否在其web.xml文件中包含了字體文件的MIME映射(它是這樣做的),但我並沒有想到Orbeon可能不會繼承這些設置。

我在這裏看到一個帖子在談論類似的東西:http://forum.primefaces.org/viewtopic.php?f=3&t=42002

添加下面我/webapps/blah/WEB-INF/web.xml解決了這個問題:

<mime-mapping> 
    <extension>eot</extension> 
    <mime-type>application/vnd.ms-fontobject</mime-type> 
</mime-mapping> 
<mime-mapping> 
    <extension>otf</extension> 
    <mime-type>font/opentype</mime-type> 
</mime-mapping> 
<mime-mapping> 
    <extension>ttf</extension> 
    <mime-type>font/truetype</mime-type> 
</mime-mapping> 
<mime-mapping> 
    <extension>woff</extension> 
    <mime-type>application/font-woff </mime-type> 
</mime-mapping> 

Tomcat服務顯然需要重新啓動才能生效。

還有如下修改/webapps/blah/WEB-INF/resources/page-flow.xml線22:

<files path="(?!/([^/]+)/service/).+\.(gif|css|pdf|json|js|coffee|map|png|jpg|xsd|htc|ico|swf|html|htm|txt|svg|ttf|eot|woff|woff2)"/> 

注意那是另外的| TTF | EOT | WOFF | woff2在該字符串的末尾

希望可以幫助任何人試圖給這個去:)

+1

完美,我通過[問題#3138](https://github.com/orbeon/orbeon-)添加了頁面流更改和一些介質類型,表格/問題/ 3138),以便將來可以開箱即用。 – ebruchez

+0

太棒了:)謝謝 –

相關問題