也许这是一个愚蠢的问题,但我对 JavaScript 很困惑。我使用尽可能不显眼的 JavaScript 来遵循这个代码组织。我在 Ruby on Rails 中建立了一个使用 Google Maps 的网站。
我的场景:假设我有一个非常庞大的网站,在其中的不同页面中,我需要启动 JavaScript 脚本来执行一些操作。
一个问题是,无论用户访问哪个页面,我都必须将我网站的所有 JavaScript 代码添加到用户的浏览器中。例如,假设我有使用大量 JavaScript 代码的页面 A 和使用一些微小 JavaScript 代码的页面 B。据我了解,在页面 B 中,用户必须检索所有 JavaScript 代码(即,对于页面 A 和 B)。这不是有点不切实际吗?
更重要的是,对于这两个页面,JavaScript 都是由document.addEventListener("DOMContentLoaded", function, false);
函数发起的。但是,A页面的功能假设有一个名为“pageA”的div(作为参考,以便通过js脚本修改或添加元素),同样页面B的功能假设有一个名为“ B 页”。因此,当我在页面 BI 上时收到没有“pageA”元素的 js 错误。我怎样才能避免这种情况?
鉴于这样一个事实,对于每个页面,我必须使用我的整个 JavaScript 代码(即所有页面)加载用户,我该如何启动(即在页面加载时立即启动,而不是在用户事件发生后立即启动)页面没有任何此类错误的特定 JavaScript 代码?我真的很困惑!
Wooho 非常快速的响应thanx伙计们!但我从未说过我将整个 js 代码写在 1 个单个文件中。相反,我使用了 RoR 的组织!(顺便说一句,将所有文件组合成一个文件)。为了澄清我的问题,我在不同的文件中启动了页面 A 的事件和页面 B(或 C 等)的事件。一旦 DOMContentLoaded 事件发生,代码就会触发。但是,当用户在页面 B 上时,我不想触发页面 A 的事件。或者类似地,我只想为页面 B 加载 js(这样页面 A 就不会触发任何事件)。我怎样才能做到这一点?
PS:如果您觉得有更好的标题,请随时提出建议!