带有资源插件的 Grails 2.1.1。
我正在使用 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' 到资源插件所做的静态路径。
/a/static/js/jsTree/themes/default/styles.css
然后新路径被引入,我可以看到它是通过 SSL 传输的。但是,在 Chrome 中,我看到了 302,然后新 URL 试图通过非 SSL 进行流式传输,而 Chrome 正在阻止它(甚至默默地),因此树样式根本不会呈现,这显然使其无法使用。
抱歉,目前我无法举出任何人都可以公开查看的问题示例。我希望其他人以前可能遇到过这种情况。
最佳答案
问题最终与 jsTree 有关。我更改了配置以包含 URL,而不是让 jsTree 找出它:
"themes":{
"theme":"default",
"dots":false,
"icons":true,
"url": contextPath + "/js/jsTree/1.0/themes/default/style.css"
}
关于javascript - Grails 资源、302、SSL 和 Chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12914885/