質問

メインエリアのコンテンツがJavaScriptを介して読み込まれるようにサイトを設定しようとしています(一部のページはレンダリングに時間がかかります)。ただし、jQuery.load()、jQuery.getScript、およびjQuery.ajax()を使用すると、論理的な問題が発生しました。

ロードされたコンテンツ内でこれらの関数などを使用できるように、getScriptを介して特定のJavaScriptファイルをロードできる必要があります。

  • index.php-表示されているメインファイル(#loadingも含まれています)
  • js /script.js-ロードコードを含むファイル
  • js/*。js-ロード後に#maincontent内で使用できるようにする必要があるいくつかのjavascriptファイル
  • load.php-#maincontentにロードされているファイル

    script.js: ジェネラコディセタグプレ

    ご覧のとおり、最初に、URLパラメータやユーザーからの操作なしでload.phpを読み込もうとしています。 load.phpは毎回正しくロードされますが、javascriptコードについても同じことは言えません。動作する場合もあれば、クリーンなコンソールを取得する前にページを数回更新する必要がある場合もあります(エラーなし)。

    コンソールのエラーは、load.php内で使用される前にjsコードが正しくロードされていないことを示唆しています。これは、load.phpに時間がかかる場合に特に当てはまります(PHPのsleep(5)関数でテスト済み)。

    何か明確にする必要があるかどうか教えてください:)

役に立ちましたか?

解決

getScriptを使用してこれらすべてのスクリプトを実際にロードするべきではありません。毎回それらの一部(またはすべて?)が必要になるので、ページにそれらを含めるだけではどうでしょうか。さらに、jqueryを使用してjqueryをロードしているので、すでにページに含まれていると言います。したがって、再度ロードしようとしないでください。

他のヒント

問題がロードのタイミングである場合は、動作を延期した最新バージョンのjQueryの使用を検討する必要があります。

たとえば、次のことができます。 ジェネラコディセタグプレ

これは、すべてのgetScript呼び出しが返されるまで待機してから、load.phpへのajax呼び出しを実行します(または、上記のいずれかが失敗した場合、handleErrorsFunction()をトリガーします)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top