大量のAJAXを備えたバックボーンアプリがあります。 (各ページの読み込みは5-6 ajax呼び出しになります)これらのビュー内に多くのビューと内部ビューがあるため、
phantom.jsを実行すると、最終的なHTML結果を取得できますか?
最終結果は、すべてのajax呼び出しが実行された後にユーザーに表示されるものです。
PhamtonJsは、JavaScript APIを備えたヘッドレスWebKitです。 PhatomJsは、ページをクロールするときに、画像、js、cssなどのすべての依存リクエストをダウンロードします。JSおよびajax呼び出しも実行します。ただし、保留中のリクエストがない場合ではなく、ページの読み込みが完了したときにonLoadedコールバックが呼び出されます。したがって、これにはトリックを使用する必要があります。
問題を解決するには2つの方法があります。
$ .activeをwaitFor.jsスクリプトと共に使用して、サーバーへのアクティブな接続の数を返すことができます。すべてのリクエストが完了するまで、接続が0になるまで待つ必要があります。
WebサイトのJavaScriptコードにアクセスできる場合は、waitFor()
以外の方法で、ajaxリクエストを同期させることができると思います。それは時々より簡単でより正確です。