这两个HTML元标记有什么区别?

时间:2013-09-10 18:31:56

标签: html

首先:

<meta http-equiv="refresh" content="0" url="http://www.google.com"/>

第二

<meta http-equiv="refresh" content="0;URL=http://www.google.com"/>

第一个似乎更健全,但不起作用,而第二个起作用,但看起来形成不良。

3 个答案:

答案 0 :(得分:2)

带有http-equiv的元标记实际上是一种将HTTP响应标头的* equiv * alent放入HTML页面的方法。 HTTP中的标题由字段名称和内容组成,因此第二种情况在这种情况下是正确的。

答案 1 :(得分:0)

根据W3 schools(是的,我知道。根据一些知识,不是最好的来源,在这里)Meta标签只有5个支持的属性:

  • charset (仅限html5):指定HTML文档的字符编码
  • 内容:提供与http-equiv或name属性相关联的值
  • http-equiv :为内容属性的信息/值提供HTTP标头
  • 名称:指定元数据的名称
  • 方案 (不在html5中):指定用于解释内容属性值的方案

答案 2 :(得分:0)

正如你所说,主要区别在于后者(通常)有效,而前者则不然。前者不符合任何HTML规范或草案; HTML中没有名为url的属性。 (顺便说一下,采用网址值的属性的名称如hrefscr。)

后者原则上在HTML规范和草稿中更加模糊。 HTML 4.01 mentions间接构造,没有给出确切的形式:“一些用户代理支持使用META在指定的秒数后刷新当前页面,可以选择用不同的URI替换它。作者应使用此技术将用户转发到不同的网页,因为这会使某些用户无法访问该网页。相反,应使用服务器端重定向完成自动页面转发。“

但HTML5 CR更真实地describes构造及其功能,并将其声明为符合。

从HTML角度来看,content属性的值只是一个字符串,可能受其他规范中定义的规则约束。在这种情况下,奇数格式模仿HTTP标头,该标头最初由Netscape引入,后来被浏览器广泛支持,但从未在HTTP规范中标准化。