Joomla有一个功能,当网站处于调试模式时,它会加载缩小的javascript文件和未压缩的版本。
我已正确命名我的文件,并按如下方式包含它:
JHtml::_('script', JUri::root() . 'path_to_file/jquery-sortable.js');
当我将网站置于调试模式时,它不会加载未压缩的文件。 但是,如果我使用以下代码,它可以正常工作:
JHtml::_('script', 'path_to_file/jquery-sortable.js');
现在我不确定这是否是Joomla中的错误,但我在网上找不到任何关于此的信息。我想在路径中使用JURI::root()
。
有没有人有这方面的任何信息?
答案 0 :(得分:2)
实际上,如果脚本网址以http
开头,那么负责包含未压缩版本的代码(即删除min.
段(如果存在)或另外添加-uncompressed
被忽略了。
此行为的来源:
JHtml::includeRelativeFiles()
中的 libraries/cms/html/html.php:298
protected static function includeRelativeFiles($folder, $file, $relative, $detect_browser, $detect_debug)
{
// If http is present in filename
if (strpos($file, 'http') === 0)
{
$includes = array($file);
}
else
//process the script sourch.
}
...
}
大多数脚本文件(包括框架)都包含在相对路径中。我想这种行为是为了防止远程资源被404化。