私はこのコードを継承しました。ウィンドウオブジェクトとドキュメントオブジェクトの両方にイベントリスナーを追加しているので、最適でない可能性があります。ただし、ブラックベリー5.0を除いて正常に動作しています。このすべてが正しく設定されているか、それをより良くするための推奨事項があれば、誰かに説明することができますか?Cross Browser Dom Ready
if (document.readyState === "complete")
callback();
else if (document.addEventListener)
{
document.addEventListener("DOMContentLoaded",callback,false);
window.addEventListener("load",callback,false);
}
else if(window.attachEvent)
{
document.attachEvent("onreadystatechange", callback);
window.attachEvent("onLoad",callback);
} else
setTimeout(callback,2000);
すべてのJSを文書の最後に置く。それはほとんど同じです。 – Saxoier
これは、スクリプトを非同期に読み込んでいない場合は表示されません。 – VinnyD
asyncを使用している場合。あなたが 'DOMContentLoaded'やこの非同期の実行のために提案した方法を使用しないでください。スクリプトは、このイベントが発生した後、またはHTMLパーサーがhtmlファイルの最後に到達した後に発生することがあります。したがって、 'window.onload'と' xhr.onreadystatechange'のみが使用できます - 両方ともクロスブラウザ互換です。 – Saxoier