web-dev-qa-db-ja.com

ロード時のJavaScriptの順序の変更

独自のテンプレートを作成しましたが、コンテンツの一部は次のとおりです。

<?php
// Add JavaScript Frameworks
JHtml::_('bootstrap.framework');
// Add Stylesheets
JHtmlBootstrap::loadCss();
// Load optional rtl Bootstrap css and Bootstrap bugfixes
JHtmlBootstrap::loadCss($includeMaincss = false, $this->direction);

?>
    <jdoc:include type="head" /> 

特定のファイルについて、jQueryを必要とする2つのjavascriptファイルをロードする必要があります。

$document = JFactory::getDocument();
$document->addScript('js/jquery.uitablefilter.js');
$document->addScript('js/filterTable.js');

ただし、jQueryの前に読み込まれます。この問題に関する多くの質問と多くの回答もありますが、それでもjQueryの前にJavaScriptがロードされます。

その理由が何なのか、どうすれば克服できるのかわかりません。

2
zkanoca

拡張機能では、フレームワークと独自のJavaScriptファイルを正しい順序で(事前に)ロードする必要があります。テンプレートが遅すぎるため、デフォルトでは何も読み込まれません。

モジュールのtmplファイルの例:

JHtml::_('bootstrap.framework'); // alternative only JQuery JHtml::_('jquery.framework');

JHtml::script('mod_yourmodule/yourmodule.js', false, true, false, false, false);

$document = JFactory::getDocument();
$document->addScriptDeclaration('
    jQuery( document ).ready(function(){
        alert(\'I am an alert box!\');
    });
');
1
schnuti

あなたは以下を試すことを考えましたか?

<jdoc:include type="head" />
<script src="js/jquery.uitablefilter.js" />
<script src="js/filterTable.js" />
0
Lodder