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

我应该在html的正文还是标题中编写脚本?

陆弘光
2023-03-14
问题内容

我已经看到了两种方式,两种实现工作都只是结构略有不同。根据您的经验,哪个效果更好,为什么?


问题答案:

我实际上会用多个选项来回答这个问题,其中一些实际上是在体内渲染的。

  • 将库脚本(例如jQuery库)放在头部。
  • 将普通脚本放在头部,除非它成为性能/页面加载问题。
  • 与包含相关联的放置脚本,该包含之内以及结尾处。一个示例是asp.net页面中的.ascx用户控件-将脚本放在该标记的末尾。
  • 将影响页面渲染的脚本放在正文的末尾(在正文关闭之前)。
  • 不要将脚本放置在标记中,例如<input onclick="myfunction()"/>-最好将其放在脚本主体的事件处理程序中。
  • 如果您不能决定,请将其放在首位,直到您有理由避免诸如页面阻塞问题。

脚注:“当您需要而不是之前时”适用于页面阻塞时的最后一项(感知加载速度)。用户的感知 就是 他们的现实-
如果感知到加载速度更快,它的加载速度也会更快(即使代码中可能仍会发生某些事情)。

附注:如果您放置标记内脚本块,它可能在某些浏览器的占用空间影响布局(IE7和歌剧9.2,已知有这个问题),所以将它们装入隐藏DIV(使用一个CSS类,如:.hide{ display: none; visibility: hidden; }上div)

EDIT2:请注意,只要有可能(总是?),就应该将实际的Javascript放在外部文件中并引用这些文件-这不会改变相关的序列有效性。



 类似资料:
  • 我见过的大多数Angular教程都将HTTP服务注入到其他更专业的服务中。我计划创建一个专门的服务,并从HTTP服务继承。 然而,我担心可测试性,因为我认为,如果我注入它,我的专业服务将更容易测试。 我的问题是——从一般的角度来看,为了可测试性的目的,继承HTTP服务是明智的吗?

  • 问题内容: 如果选择nvarchar(MAX),我不知道字符数是否有限制,而且我不确定无论如何我需要多少个字符。 在这里使用什么标准数据类型?我正在使用SQL Server 2008 R2 问题答案: 不推荐使用该类型,与和一样。微软建议使用替换它们,并分别。 因此使用。 参考: ntext,文本和图像(Transact-SQL)

  • 问题内容: 使用JavaScript更改当前网页位置的首选方法是什么?我已经看到使用window.navigate和document.location了。行为上有区别吗?浏览器的实现是否有所不同? 问题答案: 是用于更改当前窗口位置的标准实现。

  • 我是否应该将我的终点设计为 或

  • 问题内容: 应该使用这两种方法中的哪一种来编码URL? 问题答案: 这取决于您实际想要做什么。 encodeURI假定输入是一个完整的URI,其中可能包含一些需要编码的字符。 encodeURIComponent将对具有特殊含义的所有内容进行编码,因此可以将其用于URI的组件,例如

  • 问题内容: 我发现自己同意返回接口而不是具体的类。 原因很简单,我要松散耦合。 但是还会有其他影响或权衡吗? 问题答案: 对于List或ArrayList之类的类型,不应进行任何编译,并且应将List提升Code返回到接口。 如果这是通过诸如CopyOnWriteArrayList之类的并发包进行的,并且您使用的是addIfAbsent之类的方法(未在List接口中定义),您将发现自己受到限制。