正直に言って、jQuery/jQuery-ui は重いダウンロードです。
Google では、最初のレンダリングを高速化するために、JavaScript の遅延読み込みを推奨しています。私のページでは、jQuery を使用して、ページの下部に配置されている (ほとんどが最初のビューの外にある) いくつかのタブを設定しており、ページがレンダリングされるまで jQuery を延期したいと考えています。
Google の遅延コードは、本文の onLoad イベントにフックすることで、ページの読み込み後に DOM にタグを追加します。
<script type="text/javascript">
// Add a script element as a child of the body
function downloadJSAtOnload() {
var element = document.createElement("script");
element.src = "deferredfunctions.js";
document.body.appendChild(element);
}
// Check for browser support of event handling capability
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>
この方法で jQuery の読み込みを延期したいのですが、試してみると、jQuery コードが jQuery を見つけることができませんでした (私の側ではまったく予想外ではありませんでした)。
$(document).ready(function() {
$("#tabs").tabs();
});
したがって、jQuery が読み込まれるまで jQuery コードの実行を延期する方法を見つける必要があるようです。追加されたタグの読み込みと解析が完了したことを検出するにはどうすればよいですか?
当然の結果として、非同期ロードにも答えが含まれている可能性があるようです。
何かご意見は?