0

私はjquery n00bだと言って始めましょう。:(

私のウェブサイトでこの問題が発生していますが、これまでのところ解決策はありません。Joomla Web サイト、Yootheme テンプレート、および Fatica Locator コンポーネントがあります。

私は両方を購入しましたが、jquery の競合があるようです (両方のサポート チームが言ったことです) が、私には手がかりがありません. .

これは私が話しているページです: http://www.ellenvandrunen.com/santos/dealers

1 回目はおそらく完全に読み込まれますが、2 回目はロケーター マップが空のままです。

そこで私は Fatica Locator に相談しました。これが彼らの反応です:

これは、ある種の jQuery の競合/タイミングの問題のようです。なんらかの理由で、キャッシュが作成された後、ページ ロード トリガーが起動しません。

確立されているため、最初は機能しますが、ページの読み込みが速くなると、初期化が呼び出されないか、ページ要素が存在する前に呼び出されます。

「Widgetkit」と呼ばれるものがエラーをスローし、ページの実行を停止する可能性があります。つまり、そのプラグインまたはライブラリのエラーが発生した後、スタートアップ コードを実行する機会が得られない可能性があります。

その後、Yootheme (Widgetkit の所有者) に相談したところ、次のような回答がありました。

その拡張機能は jQuery ライブラリの別のインスタンスをロードしているため、競合が発生します。

http://www.ellenvandrunen.com/santos/components/com_locator/assets/jquery.min.js 設定を見てください。その読み込みを無効にするオプションはありますか?

ロケーター コンポーネントで、「フロントエンド Ajax に jQuery を使用するはい/いいえ」をオフにするオプションを見つけました。いいえに切り替えましたが、改善はありません...

現時点では静かなままであり、私は本当にこれを解決したいと考えています.

この問題を解決するためにどの情報が必要かわかりませんので、お知らせください。解決策があることを願っています...

ロケーター内でこれを見つけました:

$doc->addScript( JURI::base() . 'components/com_locator/assets/jquery.min.js' );
         $doc->addScript(  JURI::base() . 'components/com_locator/assets/jquery.noconflict.js' );

多分それは助けになるかもしれません...

システム チェックにより、次の情報が得られます。

複数の jQuery ライブラリが見つかりました。これらが互いに競合しないようにしてください。

/components/com_comprofiler/js/jquery-1.5.2/jquery-1.5.2.js
/components/com_comprofiler/js/jquery-1.5.2/jquery-1.5.2.min.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.ajaxfileupload.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.ajaxfileupload.min.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.autogrow.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.autogrow.min.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.cluetip.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.cluetip.min.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.colorinput.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.colorinput.min.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.excanvas.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.excanvas.min.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.flot.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.flot.min.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.flydom.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.flydom.min.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.form.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.form.min.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.jeditable.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.jeditable.min.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.jmap.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.jmap.min.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.maskedinput.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.maskedinput.min.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.metadata.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.metadata.min.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.rating.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.rating.min.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.slimbox2.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.slimbox2.min.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.ui-all.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.ui-all.min.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.validate.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.validate.min.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.wysiwyg.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.wysiwyg.min.js
/components/com_jce/editor/libraries/jquery/js/jquery-1.9.0.min.js
/components/com_jce/editor/libraries/jquery/js/jquery-ui-1.10.0.custom.min.js
/components/com_jce/editor/libraries/jquery/js/jquery.ui.touch-punch.min.js
/components/com_locator/assets/jquery.min.js
/components/com_locator/assets/jquery.noconflict.js

編集:

努力してくれた Lodder に感謝します。

jqueryが呼び出されたと思われるview.html.phpでこれを変更しました。

/* $doc->addScript( JURI::base() . 'components/com_locator/assets/jquery.min.js' ); */
         /* $doc->addScript(  JURI::base() . 'components/com_locator/assets/jquery.noconflict.js' );*/

         if(!JFactory::getApplication()->get('jquery')){
     JFactory::getApplication()->set('jquery',true);
     $doc->addScript( JURI::root() . 'components/com_locator/assets/jquery.min.js' );
}

しかし、私はそれがうまくいったとは思わない... これは私の頭をはるかに超えていると思います! ここでちょっと絶望的になってしまった…

4

1 に答える 1

0

2 つの jQuery ライブラリがインポートされていることが原因である可能性があります。

jQuery をインポートしている Fatica Locator コンポーネントで、次のコードに置き換えます。

if(!JFactory::getApplication()->get('jquery')){
     JFactory::getApplication()->set('jquery',true);
     $doc->addScript( JURI::root() . 'components/com_locator/assets/jquery.min.js' );
}

これは基本的に、jQuery が既にインポートされているかどうかを確認します。そうでない場合は、インポートします。

お役に立てれば

余談ですが、Yootheme Warp スクリプトはこれらすべての jquery ファイルを検出していますが、常に問題になるとは限りません。スクリプトが行うのは、 jquery.rating.min.jsなどのjqueryという名前のファイルを検出することだけだからです。

于 2013-06-19T15:10:53.347 に答える