2

Joomla には、サイトがデバッグ モードのときに、縮小された JavaScript ファイルと圧縮されていないバージョンを読み込む機能があります。

両方のファイルに正しく名前を付け、次のように含めます。

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

サイトをデバッグ モードにすると、圧縮されていないファイルが読み込まれません。ただし、代わりに次を使用すると、正常に動作します。

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

これが Joomla のバグかどうかはわかりませんが、これに関するオンラインの情報は見つかりません。JURI::root()パスで使用したいと思います。

誰もこれに関する情報を持っていますか?

4

1 に答える 1

2

実際、スクリプト URL が で始まる場合、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.
    }
    ...
}

フレームワークを含むほとんどのスクリプト ファイルは、相対パスとして含まれています。この動作は、リモート リソースが 404ed になるのを防ぐためのものだと思います。

于 2013-09-13T14:49:41.507 に答える