`

转:前端规范(整理的过程就是学习的过程,学习的过程就是总结的过程)

 
阅读更多
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>My home page</title>
</head>
<body>
...
</body>
</html>

 

这几个标签么: <meta>、<link>、<title>、<script>、<style>、<base>

它们没有(规范上的)既定顺序标准。
一般是按照具体经验来分配。
如:
  1. <meta>
  2. <title>
  3. <link> \ <style>
  4. <base>
  5. <script>

当然,约往后位置约不重要。比如 4 5 调换也没啥大事儿。
基本规律是:
  • meta 最好写在第一个,特别是 meta chaset 设定必须写第一个,它们是元数据,能让数据获取方得知此页面的元数据。最先得知页面编码,进而获取之后meta(如果有)内的作者、关键字等数据(因为这些内容可能是非ASCII字符)时,可以用指定编码方式获取。获取方得到全部元数据后可以自行判断是否继续获取其后内容。
  • title 紧随 meta 之后是因为可能获取方需要知道页面标题信息,并且在最先获取 chaset 信息后知道此标题的编码方式。如果获取方是页面浏览器,那么它可以最先用正确的页面编码方式显示标题给用户。
  • link、style 紧随 meta,其实还是主要为 link 大部分都是 CSS 样式文件考虑。由于外联样式可以并行下载,不会阻塞后续处理工作,style 也能让浏览器尽快得知页面排版布局信息。
  • base 一般情况下用的不多,只要不放第一个基本没啥关系。
  • script 放在最后,是基于script 不关是下载还是执行都会阻塞页面考虑,让它尽量偏后。(当然,这在绝大部分现代浏览器中不是事儿了,它会尽量"拖后"外联脚本下载时机)现在大多数情况没有特殊需求 script 都不放在 head 里了,而是放在 body 最后一个子节点上(也有给扔 html body 之外的,浏览器容错还是能给它修正回 body 最后节点上)。

Google 的开发文档中有提到 <meta charset> 需要遵循以下三点:

  • 在 <head>标签内;
  • 在任何内容的前面,也就是 <head> 标签内的第一个;
  • 包括 DOCTYPE 和 空格, <meta charset> 声明需要在前 512 字节内;
  • <meta charset> 放在 <title> 前的原因,有可能是字符编码引起跨站脚本攻击

跟着自己的需求以及客户端变化来就好了。
之前写过的一篇博文中的一段:

关于页面head
  • 首先要指定编码,当然服务端也要指定编码,保持一致。
  • 然后是对于可以切换内核的浏览器提示优先切换内核,诸如国内占比比较大的360浏览器6.0版本之后。然后是IE相关的浏览器使用其支持的最高版本的文档模式。
  • 接着考虑可以使用viewport来支持不同尺寸和分辨率的设备。
  • 关于页面相关说明,诸如作者可以在适当位置添加。
  • 蜘蛛是否抓取索引的标志可以考虑添加。
  • 接着是dns-prefetch缓存assets相关的域名。
  • 如果你确定页面多数内容是弹出新窗口,那么可以指定页面的链接打开模式。
  • 对于不支持或者禁用脚本的网站,可以使用转向带参数,请求无脚本时候的网站内容。
  • 页面标题是页面必不可少的,同时也是蜘蛛索引的重要指标,可以考虑程序动态输出。
  • 引入主要的样式文件,同时根据设备类型来引入设备相关的样式文件,以支持平板以及打印机。
  • 前端脚本通过后端变量设置版本,以利于文档和静态资源的更新。
  • 关于前置全局脚本,需要做到:
    • 如果页面不作为iframe内容使用,要防止恶意被嵌套,发生误导或者钓鱼相关的事情。
      • 如果使用类名作为钩子来告知页面程序是否支持调用,可以在此进一步处理。
      • 对于旧版本的IE,这里特指版本小于等于IE8的老旧浏览器,如果要做优雅降级,那么需要再此做前置程序处理。
      • 如果页面程序存在依赖数据来渲染的情况,前置的数据也推荐放置于此。
      • 如果页面依赖脚本加载器,可以在此添加加载器脚本。
      • 对于旧版本的浏览器可以使用IE条件注释配合shim脚本,以及respond来提供一些额外的功能支持,以减少写代码时的额外处理,以及保持一致性访问。
      • 页面关键词和相关说明也是至关重要的,如果你做SEO的话。
      • 如果你还要提供RSS以及PING,请也在此一并提供。
      • 对于搜索引擎提供shortlink,以合并改版rewrite后的状况。


摘自:如何相对正确的书写页面head

 

分享到:
评论

相关推荐

    h5前端学习笔记

    【描述】"我的h5前端学习笔记"表明这是一份个人的学习记录,可能包含了作者在探索HTML5前端开发过程中对各个方面的理解和实践总结。学习笔记通常包括了基础概念、关键特性、实用技巧以及常见问题的解决方法。 ...

    web学习总结(2)

    在“Web学习总结(2)”这篇博文中,作者Fernador主要分享了他在Web开发领域的深入学习体验和一些实用工具的使用心得。虽然没有直接给出详细的描述,但我们可以从标题和标签中推测出一些关键知识点。以下是根据这些...

    编译原理知识点总结

    编译过程分为前端和后端两部分。 11. **前端与后端**:前端包括词法分析、语法分析、语义分析、中间代码生成和代码优化;后端主要是目标代码生成,这部分与具体的计算机硬件和指令系统密切相关。 #### 六、翻译方式...

    web编程基础实训总结.pdf

    7. Web标准和最佳实践:实训过程中还会学习遵循Web标准的重要性,这包括使用语义化的HTML标签、编写可访问的代码和遵循CSS规范等。这些最佳实践有助于确保网页的兼容性、可维护性和可访问性。 8. 测试与调试:开发...

    iPlatUI 前台开发指南

    - **jQuery与Underscore常用API整理**:总结常用的库函数使用技巧。 - **JS中字符串转数字运算规则**:掌握三种字符串转数字的方法,包括转换函数、强制类型转换及利用变量弱类型转换。 - **转换函数**:如...

    初学python的体会心得.docx

    以下是根据提供的内容整理出的一些关键知识点和学习心得: 1. **持续学习与实践**:初学者在学习Python时,要不断地进行实践和练习。通过做网页、编写代码,可以提升编程技能。即使在学校有优异的成绩,但实际工作...

    软件工程课程设计总结

    在未来的学习和实践中,我计划加强前端技术的学习,提高与团队成员的沟通效率,以提升整体项目的执行力。 最后,我认识到软件工程不仅仅是技术的堆砌,更是一种科学的管理和思维方式。它强调站在前人的肩膀上,借鉴...

    web开发经验方法总结(拿过来就能用)

    2. **文档整理**:文件名中的“调查技术点”、“湖北课题技术点总结”和“中石化在线考试系统技术总结”表明这些文档可能包含了对不同项目的技术点调查和总结,这对于理解特定项目的技术需求、难点和解决方案非常有...

    Web京东网站制作(视频、源码和笔记)

    - 学习过程中遇到问题时,可尝试查阅官方文档或寻求社区帮助,以便及时解决问题。 ### Web京东网站源代码分析 #### 源代码价值 - **代码质量**:高质量的源代码不仅能提高学习效率,还能作为未来工作的参考模板。 ...

    前端开源库-gulp-typescript-formatter

    通常,这样的工具会遵循某种编码规范,如Airbnb、Google或Prettier的样式指南,帮助开发者快速地整理代码格式,减少因样式不一致导致的冲突。 关于“前端开源”的标签,表明了这个库是开放源代码的,意味着任何...

    组建java团队.pdf

    1. 组建团队的过程: 组建团队首先要确定使用的技术栈,以适应业务需求和项目规模。团队成员的角色通常包括不同级别的Java开发人员、移动端开发人员、Web前端开发人员、美工设计人员和运维实施人员。其中,Java开发...

    第一周期(2021_07_10-2021_07_19).pdf

    【描述】:“第一周期(2021_07_10-2021_07_19)”这个描述进一步确认了这是一个时间段的总结,可能是个人学习或开发过程中整理的知识点汇总。 【标签】:虽然没有具体的标签,但我们可以从内容中推断出以下几个关键...

    面试题-整理中

    这个“面试题-整理中”的主题可能涵盖了多种IT领域的知识点,比如编程语言(如Java、Python、C++等)、数据结构、算法、操作系统、计算机网络、数据库管理、软件工程、前端开发、云计算、大数据、人工智能等。...

    北京达内科技java培训笔记

    学习笔记是个人知识整理的过程,能够帮助学习者巩固理解,提高记忆效率。对于初学者来说,记录Java培训中的关键概念、语法、示例代码等,有助于理解和掌握编程思想,形成自己的知识体系。 【Java核心概念】 1. **...

    毕业论文书写提纲(仅供参考).

    - **成果总结**:回顾项目的实现过程及取得的成绩。 - **不足之处**:分析项目中存在的问题或局限性。 - **未来展望**:提出改进意见或未来的研发方向。 **解析:**结论部分是对整个项目的总结和反思。例如,在完成...

    demo 练习-个人笔记

    6. **最佳实践**:笔记可能包含了作者在实践中总结的最佳实践,如代码组织结构、命名规范、性能优化等方面的经验分享。 7. **学习资源**:如果笔记详细,可能还附带了相关的学习资料链接、教程推荐,以便读者深入...

    自定义tag学习

    “还待整理”表明这个自定义tag学习过程可能仍在进行中。随着项目的发展,可能会发现新的需求,或者现有标签需要优化。持续整理和优化标签库可以使代码更规范,提高开发效率,同时降低维护成本。 总结,自定义标签...

Global site tag (gtag.js) - Google Analytics