ばかげた質問かもしれませんが、私はJavaScriptと非常に混同しています。私は、可能な限り控えめなJavaScriptを使用して、このコード編成に従います。私はGoogleマップを使用するRubyonRailsでWebサイトを構築しています。
私のシナリオ:非常に巨大なWebサイトがあり、さまざまなページで、いくつかのアクションを実行するJavaScriptスクリプトを開始する必要があるとします。
問題は、ユーザーがどのページにアクセスしたかに関係なく、自分のWebサイトのすべてのJavaScriptコードをユーザーのブラウザーに追加する必要があることです。たとえば、巨大なJavaScriptコードを使用するページAと、いくつかの小さなJavaScriptコードを使用するページBがあるとします。私が理解している限り、ページBでは、ユーザーはすべてのJavaScriptコードを取得する必要があります(つまり、ページAとBの両方)。それは少し非現実的ではありませんか?
さらに、両方のページで、JavaScriptはdocument.addEventListener("DOMContentLoaded", function, false);
関数によって開始されます。ただし、ページAの関数は、「pageA」という名前のdivがあると想定しています(これは、jsスクリプトを介して変更または要素を追加するための参照として使用されます)。同様に、ページBの関数は、「pageA」という名前のdivがあると想定しています。 pageB」。したがって、私がページBIにいるとき、「pageA」の要素がないというjsエラーを受け取ります。どうすればそれを回避できますか?
すべてのページについて、JavaScriptコード全体(つまりすべてのページ)をユーザーにロードする必要があるという事実を考えると、どのように開始できますか(つまり、ユーザーイベントが発生した後ではなく、ページがロードされたときにすぐに開始します)そのようなエラーのない特定のJavaScriptコード?私は本当に混乱しています!
Wooho非常に速い応答はみんなに感謝します!しかし、私はjsコード全体を1つのファイルに書くとは決して言いませんでした。代わりに、RoRの組織を使用します。(ところで、すべてのファイルを1つのファイルに結合します)。問題を明確にするために、さまざまなファイルで、ページAのイベントとページB(またはCなど)のイベントを開始します。コードは、DOMContentLoadedイベントが発生するとすぐに起動します。ただし、ユーザーがページBにいるときは、ページAのイベントを発生させたくありません。または同様に、ページBのjsのみをロードしたい(ページAのイベントが発生しないようにするため)。どうやってやるの?
PS:あなたがより良いタイトルを考えたら、それを提案してください!