当前位置: 首页 > 面试题库 >

我应该在哪里声明页面中使用的JavaScript文件?在附近?

晋功
2023-03-14
问题内容

我正在阅读一个教程,作者提到要在HTML的结束body标记(</body>)附近包含Javascript文件。

我想知道我不应该声明/定义head节中包括的JavaScript是什么类型的功能?对我来说有意义的是,在结束body标记附近包含JavaScript(例如Google
Analytics(分析))。在结束body标记附近定义JavaScript include时应注意什么地方?


问题答案:

通常会争辩说,为了提高速度,您应该将脚本标签放在文档的末尾(在close body标签之前)。尽管这将导致最快的页面加载,但它也有一些严重的缺点。

首先,网页开发的一个常见习惯是在中间有一个头文件,一个脚注文件和您的内容。为了将不必要的Javascript减至最少,您经常需要在各个页面中放置代码段。

例如,如果在文档末尾包含jquery,则必须 之后 发生jquery代码段(如文档就绪的东西)。从发展的角度来看,这可能很尴尬。

其次,根据我的经验,由于页面加载速度更快,您最终可能会注意到正在应用某些效果,因为在应用页面时页面已经加载完毕。

例如,如果您将表放在文档中,并且在body close标签之前:

$(function() {
  $("tr:nth-child(odd)").addClass("odd");
});

通过适当的样式,通常可以看到所应用的效果。我个人认为这可能会带来不良的用户体验。我认为通常最好不要让页面加载 稍微慢一些(通过将脚本放在顶部),如果您不感到不安的视觉效果。

我通常提倡有效的缓存策略,因此您只需要在Java文件发生更改时就下载它们,就像在PHP中使用Supercharging
Javascript一样(但原理适用于任何语言,而不仅限于PHP),并且仍然将脚本放在顶部。方便得多。



 类似资料:
  • 问题内容: 我使用netfishs 6.7.1和glassfish v2.1编写了一个Web服务项目,将log4j.properties放入项目的根目录并使用: 在构造函数中: 在功能上: 但是,这是错误信息(实际上,我已经尝试将它几乎可以实现的每个目录都放入): 问题答案: 我知道回答这个问题有点晚了,也许您已经找到了解决方案,但是我将发布我找到的解决方案(在我进行大量Google搜索之后),因

  • 问题内容: 我在某处读到该函数将空字符串视为,因此这不是从HTML表单验证文本输入和文本框的有效方法。 因此,您可以用来检查用户是否键入了某些内容。 函数将空字符串视为是真的吗? 那我应该在什么情况下使用呢?我应该经常检查是否有东西吗? 例如代替 使用这个 问题答案: isset vs.!empty 自由贸易协定: “ isset()检查变量的值是否包含(False,0或空字符串),但不包含NUL

  • 我已经将ViewPager和number of Fragment实现为子级,这里每个子级都覆盖自己的。 在我的应用程序中,导航行为是随机的,不是每次都有顺序。因为页面查看器执行缓存来加载额外的子级,这就是我的问题所在。我不确定何时应该初始化/释放子类成员。 需要你们的建议,在这种情况下使用PageViwer是否更好,或者我应该为每个组件使用传统的活动流。

  • 在Vaadin 10-14中,我应该将静态文件放在哪里,例如CSS、JavaScript和聚合模板?静态文件(如图像)如何? 此外,如何在Vaadin中导入这些文件?Vaadin 14与npm和Vaadin 10-13与bower之间有差异吗?

  • 问题内容: 设计网页时,应将以下代码放在哪里? 我应该把它放进去还是放进去?请澄清以下问题: 如果将其放在HTML代码中或其他位置,它将产生什么区别? 如果我有两个CSS(或Javascript)文件怎么办?由于我只能在一个文件之前添加一个文件,因此网络浏览器将使用哪个文件来显示网页? 问题答案: 我认为最好的做法是将CSS文件放在标题中 和结束标记之前的Javascript文件 另外,如果有的话

  • 问题内容: 默认情况下,Python 3对源代码文件使用UTF-8编码。我仍应在每个源文件的开头使用编码声明吗?喜欢 问题答案: 因为默认 值为 UTF-8,所以仅在偏离默认值时或者在依赖其他工具(例如IDE或文本编辑器)来使用该信息时,才需要使用该声明。 换句话说, 就Python而言 ,仅当您要使用不同的编码时,才需要使用该声明。 其他工具(例如您的编辑器)也可以支持类似的语法,这就是PEP