阅读时间:3分钟 (511字)

探索Joomla!:一些技巧和窍门

Exploring Joomla!: Some Tips and Tricks

浏览器不提供最新的javascript或样式表内容,而是从其缓存中提供内容,显然这些内容不包含最近的更改,这是一个非常常见的问题。我们首先想到的解决方案是清除浏览器缓存,这是正确的。但是,您不能在用户端应用相同的解决方案。

我们通常采用的一个非常常见的技巧是在文件名后附加一个修订号或一些随机数字/字符串/时间戳,这会导致解决方案。

示例

<script language="JavaScript" src="/js/myscript.js?n=1"></script>

此方法强制浏览器加载JS文件的新副本。

 

您可能想知道这与Joomla有什么关系,或者Joomla如何与之相关,好吧,Joomla也提供了一种类似的方法来加载您的脚本和样式。

 

实际上,Joomla在这里做的是,当您加载任何脚本(使用JHtml类)时,Joomla会检查脚本文件所在目录中是否存在名为MD5SUM的文件。

 

如果MD5SUM文件可用,则Joomla读取该文件的内容并将其附加到文件中。

假设您的脚本文件在以下位置可用:


without-md5sum
在缺少MD5SUM的情况下,

JHtml::script('com_finder/script.js');

<script src="/media/com_finder/js/script.js" type="text/javascript"></script>

with-md5sum
存在MD5SUM文件

JHtml::script('com_finder/script.js');

<script src="/media/com_paymart/js/paymart.js?6e38cff89c35e60d5e0618acc6dafb74" type="text/javascript"></script>

 src中的随机数字实际上是MD5SUM文件的内容。

 您可以手动或自动更新js目录中的任何更改时,维护此MD5SUM文件的内容。

 同样适用于样式表加载的概念。 

现在让我们来看下一个好处。

大多数时候,我们加载压缩脚本和样式表以维护网站的性能。

但这使得无法调试js或css问题,除非我们加载该文件的未压缩版本,为此您需要更改扩展程序中加载压缩脚本处的代码。

 

当开启调试模式时,Joomla会自动加载同一目录中可用的文件未压缩版本,从而减轻您的负担。

 

因此,您需要做的是在扩展程序中维护脚本和样式的压缩和未压缩版本,并开启调试模式。

 

Joomla还让您可以针对不同类型及其版本编写不同的脚本和样式。

 

例如,您有一些仅在浏览器为mozilla时才加载的脚本代码。

然后创建一个名为script_mozilla.js的文件,并将该浏览器特定代码放入此文件中。

Joomla会自动加载此文件,无需额外的代码指令。

 

同样,您也可以添加针对浏览器版本的脚本。

示例:filename_browser.js, filename_browser_major.js, filename_browser_major_minor.js

其中,major和minor是浏览器版本名称

 

这是我开发扩展程序时遇到的一些问题。

我相信还有很多值得探索的地方。

 

发表在Joomla社区杂志上的某些文章代表了作者对特定主题的个人观点或经验,可能并不代表Joomla项目的官方立场

0
新的Joomla资源目录!
 

评论

已经注册? 登录这里
尚未发表评论。成为第一个发表评论的人

通过接受,您将访问由https://magazine.joomla.net.cn/之外的第三方提供的服务