1

2 つの Joomla モジュールで jQuery の競合があります。各モジュールで以下のコードを見つけました。競合を解決するために誰か助けてくれませんか?

最初のモジュールのコード:

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.pack.js"></script>

//...

<script type="text/javascript">
  jQuery(document).ready(function () {
    jQuery('#jeYW<?php echo $module->id ?>').weatherfeed([<?php echo "'".$cityCode[0]."'"; for ($i=1; $i<count($cityCode); $i++){echo ",'".$cityCode[$i]."'";}?>],{
      unit: '<?php echo $unit ?>',
      image: <?php echo $image ?>,
      country: <?php echo $country ?>,
      highlow: <?php echo $highlow ?>,
      wind: <?php echo $wind ?>,
      humidity: <?php echo $humidity ?>,
      visibility: <?php echo $visibility ?>,
      sunrise: <?php echo $sunrise ?>,
      sunset: <?php echo $sunset ?>,
      forecast: <?php echo $forecast ?>,
      link: <?php echo $forecastlink ?>,
      showerror: true,
      linktarget: '_blank',
      woeid: <?php echo $woeid ?>
    });
  });
</script>

2 番目のモジュールのコード:

$document->addScript(JURI::base(true).'/modules/mod_muscol_featured_albums/tmpl/jcarousel/lib/jquery-1.2.3.pack.js');

$document->addScript(JURI::base(true).'/modules/mod_muscol_featured_albums/tmpl/jcarousel/lib/jquery.jcarousel.pack.js');

$document->addStyleSheet(JURI::base(true).'/modules/mod_muscol_featured_albums/tmpl/jcarousel/lib/jquery.jcarousel.css');

//...

$document->addScriptDeclaration("
  console.dir(jQuery.fn.init.prototype);
  jQuery(document).ready(function() {
    jQuery('#random_album_".$random_id."').jcarousel({
      // Configuration goes here
      scroll: ".$scroll."
      ".$auto."
      ".$animation."
      ".$circular."
      ".$vertical."
    });
});
");
4

3 に答える 3

1

jQuery Easyを試すことができます。このコンポーネントがどれほど優れているかを理解するレビューを読んでください。私は長い間それを使用しています。

特徴:

  • jQuery および jQuery UI ライブラリは Joomla でホストできます。または HTTP または HTTPS で Google API ライブラリから呼び出されます (適切なキャッシュのために明示的なバージョンを設定します)。
  • フロントエンドまたはバックエンドでのコーディングは不要です (テンプレートにコードを追加したり、Joomla! コアをいじったりする必要はありません)。
  • 完全な互換性のために、MooTools 呼び出しの後に jQuery 呼び出しを配置し​​ます。
  • noConflict コードを追加し、
  • アプリケーションレベルで「jQuery」変数を「true」に設定し、
  • 他のモジュールまたはプラグインによって追加された noConflict 呼び出しを含む、他のすべての jQuery、jQuery UI ライブラリ呼び出しを取り除きます。
  • jQuery UI の基本スタイルまたはカスタム テーマを選択します。
  • NEW:可能な専門家の微調整
  • NEW: サイトの特定の部分でプラグインを有効または無効にできます
  • v1.2.0 以降の新機能: MooTools ライブラリをフロントエンドで一時的に無効にすることができます
  • v1.3.0 以降の新機能: より高度なケースの解決に役立つレポートとその他のオプション
  • NEW: Joomla! 3.0 特定のバージョンのリリース
于 2013-04-05T07:34:23.753 に答える
0

jquery easy はその問題を処理する必要があります。代わりに、これをテンプレート index.php の先頭に追加することもできます。

JHtml::_('jquery.framework'); 

jquery 1.8.1(またはjoomlaの安定した1.8バージョン)をロードします

jquery easy が mootools を無効にして jquery ui を追加するだけの両方を使用している私の場合、いくつかの競合があり、このセットアップはそれを解決するように見えました...

于 2013-04-15T07:41:44.970 に答える