在调试模式下加载未压缩的js文件

时间:2013-09-13 12:19:04

标签: file joomla

Joomla有一个功能,当网站处于调试模式时,它会加载缩小的javascript文件和未压缩的版本。

我已正确命名我的文件,并按如下方式包含它:

JHtml::_('script', JUri::root() . 'path_to_file/jquery-sortable.js');

当我将网站置于调试模式时,它不会加载未压缩的文件。 但是,如果我使用以下代码,它可以正常工作:

JHtml::_('script', 'path_to_file/jquery-sortable.js');

现在我不确定这是否是Joomla中的错误,但我在网上找不到任何关于此的信息。我想在路径中使用JURI::root()

有没有人有这方面的任何信息?

1 个答案:

答案 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化。