javascript - Grails 资源、302、SSL 和 Chrome

标签 javascript css grails jstree

带有资源插件的 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/

相关文章:

html - 尽管页面长度高于单页,但是否可以显示没有滚动条的页面?

jquery-ui - jQuery UI对话框-数据不刷新

javascript - 将 touchstart 事件委托(delegate)给单击处理程序

javascript - 如何在 ionic 项目中使用自定义 cordova 插件?

javascript - 使用 jquery 动态加载内容不起作用

javascript - TypeError : Cannot destructure property id of req. 参数未定义

javascript - bootstrap - bootstrap 仅在调整大小后工作

html - 我的图像链接后面显示红色 block

grails - 如何在Grails 3.0.2中禁用SolrAutoConfiguration.class

grails - 如何强制 Grails 只使用一种语言?