私たちは ajax によるより動的なコンテンツの読み込みを開始しました。進化したパターンは、読み込んで div に貼り付ける html と共に関数を含めることです。したがって、メインの html ページに div がある場合:
<div id="a"></div>
このようなものをその div にロードします。
<div id="b" onchange="dostuff();">...</div>
<script type="text/javascript">
function dostuff() {
// ...
}
</script>
ここでの dostuff メソッドには、通常、サーバーで生成されたもの (php または jsp によって) は含まれません。より便利なことです。javascript コードが動作する html の近くにあると、関数を見つけたり、見たりするのが簡単になります。関連するすべてのコードを 1 つのファイルにまとめます。
私が働いていた別のプロジェクトでは、dostuff() のような関数を別の .js ファイルに入れる傾向がありました (通常、1 つの .js ファイルには、動的に読み込まれるいくつかの html チャンクで使用される多くの関数が含まれます)。読み込まれました。これは私にとってより良い解決策のように感じますが、チーム内でその点について議論したい場合、長所と短所を特定するのは難しいです - 多分私は間違っていますか?
私が気づいたことの 1 つは、Firebug でのデバッグが難しくなっていることです。これは、ブレークポイントを配置した関数がリロードされ、デバッガーが混乱するためです。また、ブラウザが関数を再コンパイルすると、パフォーマンスが低下する可能性がありますか?