「深入理解」HTML Meta标签:网页元信息的配置

2024-09-04 18:12

本文主要是介绍「深入理解」HTML Meta标签:网页元信息的配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

「深入理解」HTML Meta标签:网页元信息的配置


HTML的<meta>元素用于提供关于HTML文档的元数据(metadata),这些信息对于浏览器和其他处理HTML文档的应用程序来说是非常有用的,如:<base><link><script><style><title>

<meta>标签通常放置在文档的<head>部分,不直接向用户展示内容,而是提供给浏览器、搜索引擎和其他Web服务使用。

如:

在这里插入图片描述

<meta>元素必须包含至少一个name或http-equiv属性以及一个content属性。name属性用于非HTTP头元数据,而http-equiv用于模拟HTTP头部字段。

name 和 content 属性可以一起使用,以名 - 值对的方式给文档提供元数据,其中 name 作为元数据的名称,content 作为元数据的值。 在标准元数据名称中查看 HTML 规范等规范中定义的标准元数据名称。


HTML5 规范定义了一系列标准的元数据名称,这些元数据通常通过<meta>标签的name属性来表达。以下是一些常用的元数据名称:

  1. charset: 定义文档的字符编码。
<meta charset="UTF-8">
  1. viewport: 控制视口的尺寸和缩放,对于响应式设计至关重要。
<meta name="viewport" content="width=device-width, initial-scale=1">
  1. author:作者的名字。
<meta name="author" content="会思想的苇草i">
  1. description:页面的描述。
<meta name="description" content="这是一个描述网页内容的简短摘要。">
  1. generator:生成页面的软件或工具。
<meta name="generator" content="WordPress 5.8.1">
  1. keywords:与页面内容相关的关键词列表。
<meta name="keywords" content="关键词1, 关键词2, 关键词3">
  1. referrer:控制是否发送referrer头到服务器。
<meta name="referrer" content="no-referrer">
  1. robots:指导搜索引擎机器人如何索引页面。
<!-- 告诉搜索引擎不要索引该页面或跟踪其链接 -->
<meta name="robots" content="noindex, nofollow">
  1. short-link:页面的短链接。
<meta name="shortlink" content="www.csdn.net">

除了上述标准元数据名称外,HTML5 规范还引入了http-equiv属性,它可以用于模仿HTTP头部信息。例如:

  • Content-Type:指定文档的MIME类型和字符集。通常被所替代。
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  • Default-Style:指定首选的样式表。
<meta http-equiv="Default-Style" content="alternate stylesheet.css">
  • Pragma:用于缓存控制。比如告诉浏览器不要缓存页面:
<meta http-equiv="Pragma" content="no-cache">
  • Expires:指定文档过期的时间,通常用格林尼治时间表示:
<meta http-equiv="Expires" content="0">
  • Cache-Control:指示缓存机制如何处理页面。比如禁止缓存:
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
  • Set-Cookie:设置cookie。
<!-- 这样做不推荐,也非标准 -->
<meta http-equiv="Set-Cookie" content="myCookie=myValue; expires=Thu, 01-Jan-2025 00:00:00 GMT; path=/">
  • X-UA-Compatible:控制Internet Explorer的渲染模式和文档模式。
<meta http-equiv="X-UA-Compatible" content="IE=edge">

除了这些标准元数据名称之外,还有一些非官方的但广泛接受的元数据名称,例如:

  • apple-mobile-web-app-capable:告诉Safari浏览器该页面可以作为一个全屏的Web应用程序运行。window.navigator.standalone 获取是否以全屏运行。
<meta name="apple-mobile-web-app-capable" content="yes">
  • apple-mobile-web-app-status-bar-style:设置iOS设备上Safari浏览器的状态栏颜色。可以设置为black或black-translucent来改变状态栏文本和图标颜色,或者通过default恢复到系统默认颜色。
    • 为了使apple-mobile-web-app-status-bar-style元信息标签生效,首先需要在HTML头部声明apple-mobile-web-app-capable元信息标签,并将其值设为yes。这样设置表明您的网站可以作为一个“全屏”的Web应用程序运行,即当用户从主屏幕启动该网站时,它将在没有浏览器界面的状态下运行。
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
  • theme-color:设置Web应用的主题颜色,用于Android Chrome的工具栏颜色。
    • theme-color 元信息标签在Android设备上主要影响Chrome浏览器。它允许网站开发者指定一个颜色,当用户将网站添加到主屏幕后,作为web app启动时的背景颜色,以及在某些情况下,改变浏览器工具栏的颜色。从Android 5.0(Lollipop)开始,theme-color还会影响状态栏和导航栏的颜色。
    • 在iOS设备上,theme-color元信息标签的行为与Android有所不同。Apple在其Safari浏览器中实现了自己的一套机制来处理主题颜色。对于iOS,主要的控制点是通过apple-mobile-web-app-status-bar-style元信息标签来改变顶部状态栏的颜色,当用户将网站添加到主屏幕并以全屏模式启动时。
    • Safari在某些情况下可能也会受到theme-color元信息的影响,但这并不是官方文档明确支持的行为,可能是因为浏览器的实现细节或与其他元信息标签的交互导致的。因此,不能依赖theme-color在iOS上的一致行为,特别是在改变状态栏颜色方面,该操作不应被视为可靠的行为。
<meta name="theme-color" content="#ff0000">
  • 使用js改变系统菜单栏主题色(兼容性弱)
    // 创建并设置ios主题色meta标签let iosThemeColorMetaEle = document.createElement('meta');iosThemeColorMetaEle.name = 'theme-color';iosThemeColorMetaEle.content = '#fff';document.head.append(iosThemeColorMetaEle);
  • msapplication-TileColor:设置Windows任务栏图标和启动屏幕的背景颜色。
<meta name="msapplication-TileColor" content="#00bcd4">
  • msapplication-config:引用一个XML文件,其中包含了用于IE11的浏览器选项卡图标(favicon)和其他信息。
<meta name="msapplication-config" content="/browserconfig.xml">
  • og:用于社交分享时的元数据,如标题、描述、图片等。
<meta property="og:title" content="我的页面标题">
<meta property="og:description" content="这是页面的描述。">
<meta property="og:image" content="http://example.com/path/to/image.jpg">
  • twitter: 用于Twitter分享时的元数据。
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:description" content="这是页面的描述。">
<meta name="twitter:image" content="http://example.com/path/to/image.jpg">

og:*(Open Graph协议)和twitter:*(Twitter Cards)元数据名称虽然不是HTML5标准的一部分,但它们被广泛用于社交媒体平台,用于控制页面在社交媒体上的显示方式。这些元数据名称使用property属性而不是name属性,并且它们的值通常通过content属性来指定。

<meta>标签应该位于HTML文档的<head>部分。每种类型的<meta>标签只能出现一次,除非它们有不同的content属性。例如,你可以有多个<meta name="description">标签,但它们的content属性必须不同,否则只有第一个会被解析。然而,通常情况下,每个类型只使用一次是最佳实践。

这篇关于「深入理解」HTML Meta标签:网页元信息的配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1136662

相关文章

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于

深入理解Go语言中二维切片的使用

《深入理解Go语言中二维切片的使用》本文深入讲解了Go语言中二维切片的概念与应用,用于表示矩阵、表格等二维数据结构,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录引言二维切片的基本概念定义创建二维切片二维切片的操作访问元素修改元素遍历二维切片二维切片的动态调整追加行动态

Spring Boot spring-boot-maven-plugin 参数配置详解(最新推荐)

《SpringBootspring-boot-maven-plugin参数配置详解(最新推荐)》文章介绍了SpringBootMaven插件的5个核心目标(repackage、run、start... 目录一 spring-boot-maven-plugin 插件的5个Goals二 应用场景1 重新打包应用

Java中读取YAML文件配置信息常见问题及解决方法

《Java中读取YAML文件配置信息常见问题及解决方法》:本文主要介绍Java中读取YAML文件配置信息常见问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录1 使用Spring Boot的@ConfigurationProperties2. 使用@Valu

Jenkins分布式集群配置方式

《Jenkins分布式集群配置方式》:本文主要介绍Jenkins分布式集群配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装jenkins2.配置集群总结Jenkins是一个开源项目,它提供了一个容易使用的持续集成系统,并且提供了大量的plugin满

SpringBoot线程池配置使用示例详解

《SpringBoot线程池配置使用示例详解》SpringBoot集成@Async注解,支持线程池参数配置(核心数、队列容量、拒绝策略等)及生命周期管理,结合监控与任务装饰器,提升异步处理效率与系统... 目录一、核心特性二、添加依赖三、参数详解四、配置线程池五、应用实践代码说明拒绝策略(Rejected

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、