1

带有资源插件的 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'd 到资源插件所做的静态路径。

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

然后新路径被引入,我可以看到它正在通过 SSL。但是,在 Chrome 中,我看到了 302,然后新的 URL 试图通过非 SSL 进行流式传输,而 Chrome 正在阻止它(甚至静默),因此树样式根本不会呈现,这显然使其无法使用。

抱歉,我目前无法举一个任何人都可以公开查看的问题示例。我希望其他人之前可能遇到过这种情况。

4

1 回答 1

1

这个问题最终与 jsTree 有关。我更改了配置以包含 URL,而不是让 jsTree 弄清楚:

"themes":{
    "theme":"default",
    "dots":false,
    "icons":true,
    "url": contextPath + "/js/jsTree/1.0/themes/default/style.css"
}
于 2012-10-16T16:10:17.473 回答