【问题标题】:Visualforce: Can't access archived static resourceVisualforce:无法访问归档的静态资源
【发布时间】:2015-04-30 21:18:25
【问题描述】:

我正在尝试访问我的 visualforce 页面中的一些静态资源。我上传了一个名为 pqGrid 的 zip 文件。它的结构是这样的:

- pqgrid.min.js
- pggrid.min.css
- images/
    --image1.png
    --image2.png

按照 [引用静态资源1 的 sf 文档中的说明,我尝试了以下操作:

<apex:includeScript value="{!URLFOR($Resource.pqGrid, 'pqgrid.min.js')}"/>
<apex:stylesheet value="{!URLFOR($Resource.pqGrid, 'pqgrid.min.css')}"/>

加载页面,我得到一个 404:

获取 https://c.cs10.visual.force.com/resource/7975978979000/pqGrid/pqgrid.min.js 404(未找到) 获取https://c.cs10.visual.force.com/resource/7975978979000/pqGrid/pqgrid.min.css

我什至尝试过仅引用图像:

<apex:image url="{!URLFOR($Resource.pqGrid, 'images/cross.png')}"/>

和同样的 404:

获取 https://c.cs10.visual.force.com/resource/7975978979000/pqGrid/images/cross.png 404(未找到)

我已经确定资源缓存控制是公开的

我做错了什么?

编辑

尝试将所有文​​件放入另一个目录,所以现在是 pqGrid/stash/[*files]

当我得到 404 未找到时:

获取 https://c.cs10.visual.force.com/resource/1430434594000/pqGrid/stash/pqgrid.min.css

我试过玩这个网址。尝试仅导航到 /stash/ 会引发 ERR_INVALID_RESPONSE 错误。导航到 /pqGrid/ 让我下载这些东西。试图直接进入文件,/pqGrid/stash/file.js 我只是得到一个空白页。

所以 zip 肯定在 salesforce 上,但访问它时有些问题。

谢谢大家!

【问题讨论】:

    标签: salesforce visualforce static-resource


    【解决方案1】:

    当我们为我们的文件指定不正确的路径时会发生这种情况,建议在下面尝试

      <apex:includeScript value="{!URLFOR($Resource.pqGrid, 'pqgrid/pqgrid.min.js')}"/>
     <apex:stylesheet value="{!URLFOR($Resource.pqGrid, 'pqgrid/pqgrid.min.css')}"/>
    

    有时忘记斜线也会引入问题

    <apex:includeScript value="{!URLFOR($Resource.pqGrid, '/pqgrid.min.js')}"/>
    

    【讨论】:

    • 我试过了 - 没有。我玩弄了这个 URL - 我已经编辑了我的问题来解释。
    • 我没有要求你放入另一个目录。问题肯定是你的路径是错误的。如果你重新检查你的文件夹结构并看看发生了什么会很好。我会单独加载它们并打电话看看是否有效
    • 在你推荐之前的一个答案 - 我只是没有改回来
    • 请将所有文件分别加载到静态资源而不是 zip 中,看看它是否有效,可能会有所帮助
    • 文件太多,没有意义。根据这个文档,应该是可能的:salesforce.com/us/developer/docs/pages/Content/…