2012-10-16 87 views
1

帶資源插件的Grails 2.1.1。Grails資源,302s,SSL和Chrome

我正在使用jstree庫,它利用主題。您在配置中指定主題名稱:

"themes":{ 
    "theme":"default", 
    "dots":false, 
    "icons":true 
} 

JavaScript發現它相對於庫的路徑。這意味着URL被構建並且是相對的,然後被添加到文檔中。例如,它可能看起來像:

/a/js/jsTree/themes/default/styles.css 

我已經在我的ApplicationResources.groovy如下:

tree { 
    resource url: '/js/jsTree/1.0/_lib/jquery.cookie.js' 
    resource url: '/js/jsTree/1.0/_lib/jquery.hotkeys.js' 
    resource url: '/js/jsTree/1.0/jquery.jstree.js' 
} 

當我部署此我們與SSL服務器上,在Firefox和Safari瀏覽器,我看到了styles.css被302'd改爲資源插件的靜態路徑。

/a/static/js/jsTree/themes/default/styles.css 

然後,新的路徑被拉入,我可以看到它通過SSL來。然而,在Chrome瀏覽器中,我看到了302,然後新的URL嘗試通過非SSL進行流式傳輸,並且Chrome會阻止它(甚至是靜默),因此樹形樣式根本無法呈現,這顯然使其無法使用。

對不起,但我現在不能在任何人都可以公開查看這個問題的例子。我希望以前可能有其他人遇到過這種情況。

回答

1

這個問題最終成爲了jsTree。我改變了配置以包含URL而不是讓jsTree弄明白:

"themes":{ 
    "theme":"default", 
    "dots":false, 
    "icons":true, 
    "url": contextPath + "/js/jsTree/1.0/themes/default/style.css" 
}