Salesforce静态资源Javascript和CSS

时间:2014-03-06 08:48:04

标签: javascript css salesforce visualforce apex

我有一个要求,我需要创建一个SF可安装,我试图保持尽可能少的静态资源。事实上,我试图只有一个BIG静态资源。但我面临一个问题。我已成功将所有css文件放在一个大文件中,并且我已按以下方式访问其中的文件:

<apex:Stylesheet value="{!URLFOR($Resource.JqueryResources, 'First.css')}"/>
<apex:Stylesheet value="{!URLFOR($Resource.JqueryResources, 'Second.css')}"/>
<apex:Stylesheet value="{!URLFOR($Resource.JqueryResources, 'Third.css')}"/>
<apex:Stylesheet value="{!URLFOR($Resource.JqueryResources, 'Fourth.css')}"/>

如果在同一个文件(即JqueryResources)中,如果我保留很少的javascript文件,我将无法访问这些文件:

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

我目前正在使它像这样工作

<apex:includeScript value="{!$Resource.JavascriptResource}"/>

其中JavascriptResource是包含Javascript.js的独立静态资源的名称。那我怎么解决这个问题?

1 个答案:

答案 0 :(得分:3)

这应该对你有用。我已经能够成功完成您正在做的事情。我的建议是这样的。

这是我的顶级代码:

<apex:stylesheet value="{!URLFOR($Resource.MyResources, 'test.min.css')}"/>

查找在实际页面上生成的代码:

<link class="user" href="/resource/23423423340/MyResources/test.min.css" rel="stylesheet" type="text/css" />

将该链接/ href复制到新窗口中。它应该调出正确加载的CSS。然后你可以删除CSS文件名,你应该留下:

https://srm--devfull--c.cs12.visual.force.com/resource/23423423340/MyResources/

如果你去那里,它会提示你将静态资源下载为.zip文件。您可以打开它,看看实际上该文件夹的根目录中是否有Javascript.js文件,或者它是否在其他位置。我必须这样做是因为我将所有资源(CSS,JS,Fonts)上传为一个大型静态资源,其中包含多个子目录。这样做有助于我检查自己的理智,并且通常会解决我的问题。

如果您可以在该目录的根目录中看到.js文件,请在下载静态资源时告诉我。