【问题标题】:"A link element must not appear as a descendant of a body element" but not in body“链接元素不得作为正文元素的后代出现”但不在正文中
【发布时间】:2019-07-06 00:25:05
【问题描述】:

我刚刚检查了一个带有https://validator.w3.org 的 HTML 页面并收到了这条消息:

错误:链接元素不得作为 body 元素的后代出现,除非该链接元素具有 itemprop 属性或具有其值包含 dns-prefetch、modulepreload、pingback、preconnect、prefetch、preload、prerender 的 rel 属性,或样式表。

从第 350 行第 3 列开始;到第 350 行,第 56 列

ript> ↩ <link rel="shortcut icon" href="images/favicon.png" />↩ <!-

我检查了 HTML 源代码,链接在该区域内(<head></head> 之间以及 <body></body> 之外。

【问题讨论】:

  • 您需要提供minimal reproducible example。很可能您隐式关闭了头部并更早地启动了身体。
  • 大多数浏览器无论如何都会对此类错误无动于衷
  • 验证器的链接标签是否有问题?
  • @Quentin:对不起。这是我的第一篇文章,也许我做错了什么,因为我的意图是包含一些代码。我认为我已经找到了解决方案,但是我在哪里,我没有资源来给出一个很好的解释。我会尽快做的。

标签: html validation hyperlink


【解决方案1】:

我做了更多的研究,发现发生了什么。 Google Analytics、Facebook 和 Tweeter 在我的页面中创建了一些代码(应我的要求),他们在我的页面组织中做了一些“安排”,删除了我的和标签并在之前写了一些行。我写道:

</style>
<script type="text/javascript">
-- my scripts ---
</script>
<link rel="icon" type="image/png" href="images/favicon.png" />
</head>
<body>
-- my content ---

检查我的页面后发现:

<style type="text/css">Facebook CSS</style>
</head>
<body>
&#65279;
<script async="" src="//www.google-analytics.com/analytics.js"></script>
<script id="twitter-wjs" src="//platform.twitter.com/widgets.js"></script>
<script id="facebook-jssdk" src="//connect.facebook.net/es_ES/sdk.js#xfbml=1&amp;version=v2.8"></script>
<script type="text/javascript">
-- my scripts--
</script>
<link rel="icon" type="image/png" href="images/favicon.png" />
-- my content --        

我已经解决了在元标记之后编写链接的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-10
    • 1970-01-01
    • 1970-01-01
    • 2014-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多